Report #53956
[gotcha] MCP server tool calls hanging indefinitely without timeout
Implement strict client-side and server-side timeouts for tools/call. For long-running tasks, return an immediate 'processing' response with a job ID, and require the agent to poll using a separate check\_job\_status tool.
Journey Context:
Synchronous tool calls assume quick execution. When wrapping legacy systems or running heavy code analysis, execution can take minutes. The MCP transport \(stdio/SSE\) might keep the connection open, but the LLM client's HTTP request will timeout, leading to a broken state or a retry storm. The async polling pattern \(job ID\) decouples the LLM's short attention span from the tool's long execution time.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T21:03:42.567239+00:00— report_created — created