File tree Expand file tree Collapse file tree 2 files changed +15
-9
lines changed
Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ async def handle_sse(request):
4444from sse_starlette import EventSourceResponse
4545from starlette .requests import Request
4646from starlette .responses import Response
47- from starlette .types import Receive , Scope , Send , Message
47+ from starlette .types import Message , Receive , Scope , Send
4848
4949import mcp .types as types
5050
@@ -139,7 +139,7 @@ async def client_close_handler(message: Message) -> None:
139139 response = EventSourceResponse (
140140 content = sse_stream_reader ,
141141 data_sender_callable = sse_writer ,
142- client_close_handler_callable = client_close_handler ,
142+ client_close_handler_callable = client_close_handler , # type: ignore[arg-type]
143143 )
144144 logger .debug ("Starting SSE response task" )
145145 tg .start_soon (response , scope , receive , send )
Original file line number Diff line number Diff line change 1010from pydantic import AnyUrl
1111from starlette .applications import Starlette
1212from starlette .requests import Request
13+ from starlette .responses import Response
1314from starlette .routing import Mount , Route
1415
1516from mcp .client .session import ClientSession
@@ -83,13 +84,18 @@ def make_server_app() -> Starlette:
8384 sse = SseServerTransport ("/messages/" )
8485 server = ServerTest ()
8586
86- async def handle_sse (request : Request ) -> None :
87- async with sse .connect_sse (
88- request .scope , request .receive , request ._send
89- ) as streams :
90- await server .run (
91- streams [0 ], streams [1 ], server .create_initialization_options ()
92- )
87+ async def handle_sse (request : Request ) -> Response :
88+ with anyio .CancelScope () as cancel_scope :
89+ async with sse .connect_sse (
90+ request .scope ,
91+ request .receive ,
92+ request ._send ,
93+ lambda : cancel_scope .cancel (),
94+ ) as streams :
95+ await server .run (
96+ streams [0 ], streams [1 ], server .create_initialization_options ()
97+ )
98+ return Response (status_code = 200 )
9399
94100 app = Starlette (
95101 routes = [
You can’t perform that action at this time.
0 commit comments