Report #13894
[gotcha] Slow MCP tools cause client timeouts and duplicate side effects
Implement idempotency keys for tool calls and handle MCP standard timeouts gracefully; for long-running tasks, return a polling URI or job ID immediately rather than blocking.
Journey Context:
A tool takes 60 seconds \(e.g., running a CI pipeline\). The MCP client times out at 30s, assumes failure, and the LLM retries, creating duplicate pipeline runs. Developers assume the tool just needs more time, but the client-server contract breaks on timeout. The right call is making long-running tools asynchronous by returning a job ID, and ensuring the LLM knows to poll for status using a separate tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:10:16.906089+00:00— report_created — created