Description
Using OAuth proxy w/ Keycloak for authentication and authorization. Implementation works as expected but after a successful list tools call a message router error is returned in the logs.
Example Code
INFO Completed message: {"event": "request_success", "timestamp": "2025-10-13T16:05:12.581667+00:00", "method": "tools/list", "type": logging.py:133
"request", "source": "client"}
INFO Completed message: event=request_success timestamp=2025-10-13T16:05:12.581667+00:00 method=tools/list type=request source=client logging.py:133
INFO List tools completed in 5.39ms timing.py:99
INFO Request tools/list completed in 5.79ms timing.py:47
INFO - 2025-10-13 09:05:12,592 uvicorn.access:L473 [c14068faaa714b51b3cac1e5ed08c67a] [PID: 42876] [TID: 8712315200] 127.0.0.1:55936 - "POST /mcp HTTP/1.1" 200
INFO - 2025-10-13 09:05:12,592 mcp.server.streamable_http:L630 [c14068faaa714b51b3cac1e5ed08c67a] [PID: 42876] [TID: 8712315200] Terminating session: None
ERROR - 2025-10-13 09:05:12,592 mcp.server.streamable_http:L880 [c14068faaa714b51b3cac1e5ed08c67a] [PID: 42876] [TID: 8712315200] Error in message router
Traceback (most recent call last):
File "/Users/josh.albright/.pyenv/versions/teradata-mcp-server/lib/python3.11/site-packages/mcp/server/streamable_http.py", line 831, in message_router
async for session_message in write_stream_reader:
File "/Users/josh.albright/.pyenv/versions/teradata-mcp-server/lib/python3.11/site-packages/anyio/abc/_streams.py", line 41, in __anext__
return await self.receive()
^^^^^^^^^^^^^^^^^^^^
File "/Users/josh.albright/.pyenv/versions/teradata-mcp-server/lib/python3.11/site-packages/anyio/streams/memory.py", line 111, in receive
return self.receive_nowait()
^^^^^^^^^^^^^^^^^^^^^
File "/Users/josh.albright/.pyenv/versions/teradata-mcp-server/lib/python3.11/site-packages/anyio/streams/memory.py", line 93, in receive_nowait
raise ClosedResourceError
anyio.ClosedResourceError
Version Information
FastMCP version: 2.12.4
MCP version: 1.12.4
Python version: 3.11.11
Platform: macOS-15.7.1-arm64-arm-64bit
FastMCP root path: /Users/josh.albright/.pyenv/versions/3.11.11/envs/teradata-mcp-server/lib/python3.11/site-packages
Description
Using OAuth proxy w/ Keycloak for authentication and authorization. Implementation works as expected but after a successful list tools call a message router error is returned in the logs.
Example Code
Version Information