Report #8997
[gotcha] Slow MCP tools cause the client to time out and silently drop the connection or abort the run
Implement an async polling pattern: the tool immediately returns a job\_id and a status of pending, and expose a second check\_job\_status tool for the LLM to poll.
Journey Context:
MCP uses JSON-RPC over stdio/SSE, which expects a response within a certain timeframe. If a tool takes 5 minutes to run \(e.g., running a complex data pipeline\), the HTTP connection or client timeout will kill the process. By making the tool non-blocking—returning a job ID instantly—the MCP server fulfills the JSON-RPC contract. The LLM can then periodically check the status, keeping the connection alive and preventing timeout failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:06:35.666222+00:00— report_created — created