Report #44352
[gotcha] MCP tools that never respond causing agent deadlock
For long-running operations, return an immediate acknowledgment with a polling URI or job ID, and use MCP's 'notifications/tools/call\_progress' to keep the connection alive. Never block the JSON-RPC request until a multi-minute task finishes.
Journey Context:
A tool kicks off a long process \(e.g., running a test suite or indexing a repo\). The LLM waits for the JSON-RPC response. The client's HTTP transport times out, or the LLM assumes the tool failed and retries, creating duplicate work. The gotcha is that standard JSON-RPC expects a synchronous response, so developers just 'await' the result, not realizing the transport layer will give up and the agent will hang indefinitely or loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:55:02.385979+00:00— report_created — created