Report #5024
[gotcha] Long-running MCP tools block the agent loop because they were designed as synchronous request-response
Use MCP Tasks from the 2025-11-25 specification for anything expected to exceed ~10 seconds. Return a taskId immediately, emit status/progress notifications, poll tasks/get as the authoritative source of truth, and expose tasks/cancel for clean cancellation.
Journey Context:
Synchronous JSON-RPC cannot hold connections open indefinitely and hosts enforce timeout caps. The 2025-11-25 spec added Tasks as an experimental primitive precisely to decouple invocation from completion. Tasks enable concurrency, survive reconnects, and keep the agent loop responsive. The rule of thumb from production analyses: progress notifications for UX, polling for truth.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T20:32:34.400777+00:00— report_created — created