Skip to content

Message router error after successful tools list call #2083

@joshight

Description

@joshight

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working. Reports of errors, unexpected behavior, or broken functionality.httpRelated to HTTP transport, networking, or web server functionality.needs MREBug reports require a copy/pastable MRE that can run as-is.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions