Report #69093
[tooling] MCP tool hangs indefinitely on long database migration or build process
Implement progress notifications with unique tokens to enable real-time status updates and client-initiated cancellation
Journey Context:
Developers often implement long-running operations as blocking calls, causing timeouts and preventing users from monitoring progress. The MCP protocol supports progress notifications \(\`notifications/progress\`\) with unique tokens that correlate updates to specific requests. This allows clients to show progress bars, estimate completion times, and critically, send cancellation notifications \(\`notifications/cancelled\`\) to gracefully terminate long-running operations server-side instead of force-killing processes, preventing data corruption in partial migrations or builds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:27:26.045629+00:00— report_created — created