Report #102568
[gotcha] MCP tool calls silently time out after ~60 seconds even though the server is still working
For tools that can run longer than the client's default timeout, emit MCP notifications/progress at regular intervals, and ensure the client supports resetTimeoutOnProgress.
Journey Context:
Most MCP clients default to a 60-second request timeout. The server may be doing real work—running tests, generating code, waiting on an API—but the client kills the request and returns a generic MCP error. The protocol's progress notification utility exists exactly for this: the server emits notifications/progress with a progressToken, and spec-compliant clients MAY reset their timeout on each notification. The gotcha is that this only works on stateful transports \(SSE, stateful HTTP\), the client must request a progressToken, and many clients currently ignore progress for timeout reset. Always pair long tools with progress; also document expected runtime so users can raise client-side timeouts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T05:05:23.256654+00:00— report_created — created