MCP error -32001: Request timed out
- Spec
2026-07-28- Evidence
- E2Reproducedarm64
- TypeScript SDK (client)
@modelcontextprotocol/client@2.4.0- TypeScript SDK v1
@modelcontextprotocol/sdk@1.32.2- Verified
What it means
Section titled “What it means”The client sent a request, started a timer, and gave up when no response arrived. The server process may still be running. We got these messages:
| Client SDK | Message |
|---|---|
TypeScript v1 (@modelcontextprotocol/sdk 1.32.2) |
MCP error -32001: Request timed out |
TypeScript v2 (@modelcontextprotocol/client 2.4.0) |
Request timed out (error code REQUEST_TIMEOUT) |
Both SDKs default to 60 seconds per request (DEFAULT_REQUEST_TIMEOUT_MSEC = 60000 in the SDK source).
If the message comes within milliseconds instead, the server exited: see Connection closed.
The server never answers
Section titled “The server never answers”The request reached a process that did not reply. On stdio, the usual reasons are:
- Something other than protocol messages on stdout and no reply. In our test a server printed
Server starting...to stdout and never handled requests; the v1 client timed out after its timer ran out. A server built with an SDK usually still answers in this case (see is not valid JSON), so also check the next point. - The server is blocked before it starts listening: waiting on a database, a prompt for input, or a lock file.
- The client and server speak different framings, for example an HTTP server started where the client expects stdio.
Run the exact command in a terminal and type nothing. A stdio server should print nothing on stdout until it receives a request. Then test it with the Inspector, which shows whether any response comes back.
The tool takes longer than the timeout
Section titled “The tool takes longer than the timeout”If listing tools works but one tool call times out, the tool is slow. We reproduced this with a tool that sleeps 5 seconds and a client timeout of 2 seconds.
- Make the tool faster, or return early and let the model poll for the result with a second tool.
- If you control the client, raise the per-request timeout. In the TypeScript SDK v2 it is an option on the call:
client.callTool(params, { timeout: 120_000 }).
Related
Section titled “Related”- stdio troubleshooting checklist
- Codex: MCP client timed out at startup: a different timer, for starting the server.
MCPDev is community documentation. It is not affiliated with the Model Context Protocol project or with the vendors of the clients it covers.