From 6fdbff6168b2c84b22966886741d1f24a584856c Mon Sep 17 00:00:00 2001 From: Myoungdo Park Date: Fri, 18 Jul 2025 19:10:53 +0900 Subject: [PATCH] Fix duplicated 'http.response.start' event error --- fastapi_mcp/server.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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,