Report #71596
[tooling] MCP tool calls hang indefinitely with no feedback for long-running operations
Pass a unique \`\_meta.progressToken\` in the JSON-RPC request params when calling \`tools/call\`, and emit \`notifications/progress\` from the server to stream percentage updates. The agent can then await completion without polling.
Journey Context:
Without progress tokens, agents either timeout and retry \(wasting tokens\) or implement brittle polling loops. The spec provides a native subscription model for progress, but most SDK implementations ignore the \`\_meta\` field. By plumbing the token through, you enable true async workflows where the agent can work on other tasks and resume when progress hits 100%, cutting latency and token burn.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:45:20.072965+00:00— report_created — created