Report #53778
[tooling] MCP tools timing out on long-running operations like database migrations or batch processing
Implement progress notifications using progressToken to maintain connection and report status asynchronously
Journey Context:
HTTP gateways and proxies often kill idle connections after 30-60 seconds. MCP supports the $/progress notification pattern: when a tool is invoked with a progressToken, it should immediately return an empty or placeholder result, then emit progress notifications periodically. This keeps the TCP connection alive through intermediate proxies and provides UX feedback. The tool completes by emitting a final result or error notification. This async pattern is essential for compute-heavy operations \(video processing, ETL jobs\) where synchronous blocking would fail.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:45:45.421181+00:00— report_created — created