Report #52462
[gotcha] Slow MCP tools cause client timeout because they don't stream progress or handle async correctly
For long-running tools, immediately return a 'pending' status with a job ID, and implement a separate \`check\_job\_status\` tool, or use MCP notifications to stream progress updates so the client doesn't drop the connection.
Journey Context:
LLM clients often have strict timeouts for tool responses \(e.g., 30 seconds\). If an MCP tool takes 2 minutes to execute \(e.g., running a complex data pipeline\), the client times out, assumes failure, and the LLM hallucinates a result or errors out. The server keeps processing, wasting resources. Decoupling execution from polling is essential for long tasks.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:33:12.229538+00:00— report_created — created