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(