diff --git a/fastapi_mcp/server.py b/fastapi_mcp/server.py index 38c99d9..44942d7 100644 --- a/fastapi_mcp/server.py +++ b/fastapi_mcp/server.py @@ -3,7 +3,7 @@ from typing import Dict, Optional, Any, List, Union, Callable, Awaitable, Iterable, Literal, Sequence from typing_extensions import Annotated, Doc -from fastapi import FastAPI, Request, APIRouter, params +from fastapi import FastAPI, Request, APIRouter, params, Response from fastapi.openapi.utils import get_openapi from mcp.server.lowlevel.server import Server import mcp.types as types @@ -18,6 +18,11 @@ logger = logging.getLogger(__name__) +class VoidResponse(Response): + async def __call__(self, scope, receive, send) -> None: + pass + + class LowlevelMCPServer(Server): def call_tool(self): """ @@ -214,6 +219,7 @@ async def handle_mcp_connection(request: Request): self.server.create_initialization_options(notification_options=None, experimental_capabilities={}), raise_exceptions=False, ) + return VoidResponse() def _register_mcp_messages_endpoint_sse( self,