Report #53625
[tooling] Long-running MCP tool times out or gets retried because of silent execution
For operations >10s, implement progress notifications using the \`progressToken\` from the request; send periodic progress updates to keep the connection alive and signal liveness.
Journey Context:
Default HTTP client timeouts \(30-60s\) kill silent connections. Without feedback, the agent assumes the tool hung and retries, triggering duplicate expensive operations \(DB migrations, video rendering\). MCP has a specific JSON-RPC notification method \(\`notifications/progress\`\) designed for this, but most SDK examples show simple request/response. Implementing progress tokens turns 'blind waiting' into cancellable, observable workflows.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:30:29.562785+00:00— report_created — created