Skip to content

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

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 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.

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 }).

MCPDev is community documentation. It is not affiliated with the Model Context Protocol project or with the vendors of the clients it covers.