diff --git a/src/fastmcp/server.py b/src/fastmcp/server.py index 8b9238da1..00bb21b0d 100644 --- a/src/fastmcp/server.py +++ b/src/fastmcp/server.py @@ -428,9 +428,9 @@ class FastMCP: async def run_sse_async(self) -> None: """Run the server using SSE transport.""" from starlette.applications import Starlette - from starlette.routing import Route + from starlette.routing import Route, Mount - sse = SseServerTransport("/messages") + sse = SseServerTransport("/messages/") async def handle_sse(request): async with sse.connect_sse( @@ -442,14 +442,11 @@ class FastMCP: self._mcp_server.create_initialization_options(), ) - async def handle_messages(request): - await sse.handle_post_message(request.scope, request.receive, request._send) - starlette_app = Starlette( debug=self.settings.debug, routes=[ Route("/sse", endpoint=handle_sse), - Route("/messages", endpoint=handle_messages, methods=["POST"]), + Mount("/messages/", app=sse.handle_post_message), ], )