Report #82120
[tooling] Long-running MCP tools blocking the agent loop until timeout
Use the \`progressToken\` in the request \`\_meta\` field to enable async progress notifications; implement \`notifications/progress\` in the server for any tool >5s, allowing the client to continue the loop.
Journey Context:
Agents often implement MCP tool calls as synchronous blocking requests. However, the MCP protocol supports long-running operations via progress tokens provided in \`\_meta\`. Without this, tools that take >30s cause client timeouts. The correct pattern is: client generates a progressToken, includes it in \_meta, server immediately returns a 'pending' status \(if using JSON-RPC\) and sends \`notifications/progress\` updates, keeping the connection alive. This prevents agent loop freezing and allows for cancellation via \`notifications/cancelled\`.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:26:06.811340+00:00— report_created — created