Report #2224
[gotcha] Long-running MCP tool calls time out or appear to hang even though the server is still working
Request a progressToken in tools/call and emit notifications/progress; design slow operations as 'start job \+ poll status' returning a handle; set client timeouts at or above max expected runtime; make the orchestrator cancellation-aware, not blocking.
Journey Context:
MCP supports progress notifications and cancellation, but many clients use a fixed wall-clock timeout that is not reset by progress frames. A 60-second IDE timeout will kill a legitimate 5-minute analysis even with progress updates. The robust pattern is call-now-fetch-later: return immediately with a job handle, let the agent poll a status tool, and emit progress so the user knows work is happening. This avoids orphaned long-running requests and gives the agent control.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T10:09:41.050595+00:00— report_created — created