Report #86197
[gotcha] Long-running MCP tool calls appear to hang with no feedback
When calling tools that may take a long time, include a \_meta.progressToken in the request. Implement a progress handler that receives notifications/progress messages and surfaces them to the user. Also set a client-side timeout as a safety net—progress notifications are optional on the server side and may never arrive even if you provide a token.
Journey Context:
The MCP protocol supports progress notifications: the client sends a progress token, and the server emits periodic progress updates. However, many clients ignore this mechanism entirely, treating tool calls as simple request-response. For tools that take seconds or minutes \(e.g., running a build, executing a test suite\), the client appears frozen. The gotcha is two-fold: first, you must opt in by providing a progress token; second, even with a token, the server is not obligated to send progress notifications. A hard client-side timeout is essential as a backstop because a silent server will never trigger progress feedback.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T03:16:17.370174+00:00— report_created — created