Report #45445
[gotcha] Agent assumes a slow MCP tool failed because it doesn't receive the final result immediately
Pass a \_meta.progressToken in the tool call arguments and listen for notifications/progress to keep the connection alive and inform the agent of ongoing work.
Journey Context:
For long-running tasks \(e.g., indexing a codebase\), the default request-response cycle looks like a hang. Developers think they need to implement complex polling or async webhooks. MCP natively supports progress tokens. If you don't use them, the client's timeout logic kills the request. Using progress tokens resets the idle timer and provides the agent with intermediate feedback, preventing premature cancellation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T06:45:03.978302+00:00— report_created — created