fix: serve MCP over Streamable HTTP instead of legacy SSE
PR Checks / hadolint (pull_request) Successful in 40s
PR Checks / build-test (pull_request) Successful in 3m19s
PR Checks / pytest (pull_request) Successful in 2m47s
Docker Build and Push / test (pull_request) Successful in 3m1s
Docker Build and Push / integration-test (pull_request) Successful in 3m24s
Docker Build and Push / build (pull_request) Successful in 3m4s
PR Checks / hadolint (pull_request) Successful in 40s
PR Checks / build-test (pull_request) Successful in 3m19s
PR Checks / pytest (pull_request) Successful in 2m47s
Docker Build and Push / test (pull_request) Successful in 3m1s
Docker Build and Push / integration-test (pull_request) Successful in 3m24s
Docker Build and Push / build (pull_request) Successful in 3m4s
Current MCP clients (OpenCode, Claude, ...) only speak Streamable HTTP: they POST JSON-RPC to the configured URL, so a legacy SSE endpoint answers 405 Method Not Allowed and not a single tool can be reached. Run FastMCP's http_app (build_app()) under uvicorn instead of mcp.run(sse): the MCP endpoint is now /mcp, and the custom GET /health route keeps serving the Kubernetes probes. Add transport tests asserting /mcp and /health are exposed and /sse is gone.
This commit is contained in:
3 files changed
+49
-5
No files matched your search
+1
-1
@@ -15,7 +15,7 @@ services:
|
||||
dockerfile: pkg/Dockerfile
|
||||
container_name: mcp_maildir_server
|
||||
ports:
|
||||
- "127.0.0.1:8000:8000" # Expose the MCP HTTP (SSE) server
|
||||
- "127.0.0.1:8000:8000" # Expose the MCP Streamable HTTP server (/mcp)
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
|
||||
Reference in new issue
Block a user