Skip to content

Commit ab64186

Browse files
committed
fix(mcp): return Response() from handle_sse to prevent NoneType error
When an MCP client disconnects, Starlette tries to call the return value of the handle_sse endpoint as an ASGI response. Since the function had no return statement it returned None, causing: TypeError: 'NoneType' object is not callable The mcp library's own SseServerTransport docstring explicitly documents this requirement. Fix by adding 'return Response()' and importing starlette.responses.Response.
1 parent ded24b1 commit ab64186

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

backend/src/module/mcp/server.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from mcp.server.sse import SseServerTransport
1616
from starlette.applications import Starlette
1717
from starlette.requests import Request
18+
from starlette.responses import Response
1819
from starlette.routing import Mount, Route
1920

2021
from .resources import RESOURCE_TEMPLATES, RESOURCES, handle_resource
@@ -64,6 +65,7 @@ async def handle_sse(request: Request):
6465
streams[1],
6566
server.create_initialization_options(),
6667
)
68+
return Response()
6769

6870

6971
def create_mcp_starlette_app() -> Starlette:

0 commit comments

Comments
 (0)