diff --git a/examples/servers/simple-auth/README.md b/examples/servers/simple-auth/README.md
index 1d0979d97..9906c4d36 100644
--- a/examples/servers/simple-auth/README.md
+++ b/examples/servers/simple-auth/README.md
@@ -44,6 +44,31 @@ uv run mcp-simple-auth
 
 The server will start on `http://localhost:8000`.
 
+### Transport Options
+
+This server supports multiple transport protocols that can run on the same port:
+
+#### SSE (Server-Sent Events) - Default
+```bash
+uv run mcp-simple-auth
+# or explicitly:
+uv run mcp-simple-auth --transport sse
+```
+
+SSE transport provides endpoint:
+- `/sse`
+
+#### Streamable HTTP
+```bash
+uv run mcp-simple-auth --transport streamable-http
+```
+
+Streamable HTTP transport provides endpoint:
+- `/mcp`
+
+
+This ensures backward compatibility without needing multiple server instances. When using SSE transport (`--transport sse`), only the `/sse` endpoint is available.
+
 ## Available Tool
 
 ### get_user_profile
@@ -61,5 +86,6 @@ If the server fails to start, check:
 1. Environment variables `MCP_GITHUB_GITHUB_CLIENT_ID` and `MCP_GITHUB_GITHUB_CLIENT_SECRET` are set
 2. The GitHub OAuth app callback URL matches `http://localhost:8000/github/callback`
 3. No other service is using port 8000
+4. The transport specified is valid (`sse` or `streamable-http`)
 
 You can use [Inspector](https://github.com/modelcontextprotocol/inspector) to test Auth
\ No newline at end of file
diff --git a/examples/servers/simple-auth/mcp_simple_auth/server.py b/examples/servers/simple-auth/mcp_simple_auth/server.py
index 2f1e4086f..51f449113 100644
--- a/examples/servers/simple-auth/mcp_simple_auth/server.py
+++ b/examples/servers/simple-auth/mcp_simple_auth/server.py
@@ -3,7 +3,7 @@
 import logging
 import secrets
 import time
-from typing import Any
+from typing import Any, Literal
 
 import click
 from pydantic import AnyHttpUrl
@@ -347,7 +347,13 @@ async def get_user_profile() -> dict[str, Any]:
 @click.command()
 @click.option("--port", default=8000, help="Port to listen on")
 @click.option("--host", default="localhost", help="Host to bind to")
-def main(port: int, host: str) -> int:
+@click.option(
+    "--transport",
+    default="sse",
+    type=click.Choice(["sse", "streamable-http"]),
+    help="Transport protocol to use ('sse' or 'streamable-http')",
+)
+def main(port: int, host: str, transport: Literal["sse", "streamable-http"]) -> int:
     """Run the simple GitHub MCP server."""
     logging.basicConfig(level=logging.INFO)
 
@@ -364,5 +370,6 @@ def main(port: int, host: str) -> int:
         return 1
 
     mcp_server = create_simple_mcp_server(settings)
-    mcp_server.run(transport="sse")
+    logger.info(f"Starting server with {transport} transport")
+    mcp_server.run(transport=transport)
     return 0