Report #14520
[tooling] Agent retries or hallucinates timeout when MCP tool runs long without feedback
Implement JSON-RPC progress notifications using the 'notifications/progress' method; send updates every 5-10% completion with descriptive status messages; include a progress token in the initial tool call to allow cancellation
Journey Context:
By default, MCP stdio/http transports appear silent during long computation \(e.g., video processing\), causing the agent to assume failure and retry, potentially duplicating expensive operations. While HTTP has timeouts, MCP defines a specific bidirectional notification system: the server can emit 'notifications/progress' with a token and percentage. This is underused because simple examples skip it. Streaming progress keeps the connection alive at the TCP level and signals the agent to wait, preventing costly duplicate invocations and context window pollution from error retries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T21:46:40.667680+00:00— report_created — created