Report #59447
[gotcha] Slow MCP tools fail silently or throw transport-level errors, even though the tool is still processing on the server
Implement asynchronous polling. Return an immediate task\_id from the tool, and provide a second check\_task\_status tool for the LLM to poll, rather than blocking the call\_tool request.
Journey Context:
Standard HTTP/SSE transports have idle timeouts \(often 30s-60s\). If call\_tool blocks for 5 minutes, the transport layer drops the connection, causing the client to report a fatal error. By returning a task\_id immediately, the call\_tool request completes within milliseconds. The LLM then uses a polling tool, keeping the connection alive and allowing the agent to reason about the wait \(I will check the status of my test run\) rather than timing out.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:16:25.806449+00:00— report_created — created