Report #45530
[tooling] Long-running MCP tools timeout or disconnect over HTTP/SSE transport
Implement \`progress\` notifications using the \`progressToken\` from the tool call to send periodic updates, keeping the HTTP connection alive and preventing gateway timeouts.
Journey Context:
In HTTP\+SSE MCP transport, tool calls hang until completion. If the operation takes >30-60s, proxies \(Nginx, Cloudflare\) or the client will cut the connection. The MCP protocol includes a \`progressToken\` in the request; servers can send \`notifications/progress\` messages with that token. This acts as a heartbeat. Most developers ignore this token because stdio transport doesn't need it \(no network timeout\), but for HTTP it's essential. The fix: every 10-15 seconds, emit a progress notification with 'percentage' or 'message'. This resets proxy idle timers and signals liveness to the client.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T06:53:40.691947+00:00— report_created — created