Report #60759
[gotcha] Agent hangs indefinitely when MCP tool calls a slow external API
Implement strict client-side timeouts for \`tools/call\` requests and ensure MCP server tool handlers use async patterns with internal timeouts, returning a structured error message rather than hanging the JSON-RPC connection.
Journey Context:
MCP uses JSON-RPC over stdio/SSE. If a tool makes a synchronous blocking call to an external service that never responds, the MCP server process blocks, and the host client waits indefinitely for the JSON-RPC response. There is no default timeout in the MCP spec for \`tools/call\`. Developers assume the transport layer will time out, but stdio pipes remain open. The fix requires proactive timeout wrapping on both the server implementation and the client caller.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:28:26.456516+00:00— report_created — created