http mcp task group fix

frdel committed Jul 31, 2025 at 21:20 UTC d7f2cb93dad647ce9a02a1b64b7fe854e667f1ad
1 file changed +8 -2
python/helpers/mcp_server.py
+8 -2
@@ -330,6 +330,9 @@ class DynamicMcpProxy:
330 server_routes = []
331 server_middleware = []
332
333 + self.http_session_task_group = None
334 +
335 +
336 # Create session manager
337 self.http_session_manager = StreamableHTTPSessionManager(
338 app=mcp_server._mcp_server,
@@ -338,15 +341,18 @@ class DynamicMcpProxy:
341 stateless=False,
342 )
343
344 +
345 # Custom ASGI handler that ensures task group is initialized
346 async def handle_streamable_http(scope, receive, send):
347 # Lazy initialization of task group
348 if self.http_session_task_group is None:
349 self.http_session_task_group = anyio.create_task_group()
350 await self.http_session_task_group.__aenter__()
347 - self.http_session_manager._task_group = self.http_session_task_group
351 + if self.http_session_manager:
352 + self.http_session_manager._task_group = self.http_session_task_group
353
349 - await self.http_session_manager.handle_request(scope, receive, send)
354 + if self.http_session_manager:
355 + await self.http_session_manager.handle_request(scope, receive, send)
356
357 # Get auth middleware and routes
358 auth_middleware, auth_routes, required_scopes = setup_auth_middleware_and_routes(