Hosted MCP errors
There are two kinds. A refusal of the request itself is a JSON-RPC error with an HTTP status. A failed tool call is a tool result marked isError, with HTTP 200, so the agent can read it and try again. "…" stands for a value the message fills in.
Refusals
| Message | HTTP | JSON-RPC | When |
|---|---|---|---|
There’s no hosted MCP server here. | 404 | -32000 | The project doesn't exist, or its server is off. |
Send a Latitude 10 MCP key for this server: Authorization: Bearer l10m_… | 401 | -32000 | No key or a wrong one, on a server that takes keys only. |
Sign in to use this server: your MCP client can start it from this response’s WWW-Authenticate header. | 401 | -32000 | No sign-in, on a server that takes signed-in users only. |
Sign in to use this server, or send a Latitude 10 MCP key: Authorization: Bearer l10m_… | 401 | -32000 | Neither, on a server that takes both. |
The pinned version (v…) is no longer kept. An owner can pin another version or follow the latest. | 409 | -32000 | The server is pinned to a version the registry deleted. |
This server has no version of its API yet. Push one to the registry. | 409 | -32000 | The project has no version. |
Version … of this API can’t be turned into tools. | 409 | -32000 | The version's document can't be read as tools. |
This server’s API host isn’t verified, so no calls are made. An owner can verify it in the workspace. | 503 | -32000 | The host was never verified, or its recheck failed. |
Hosted MCP isn’t available right now. | 503 | -32000 | The service can't reach its storage. |
Too many requests. Try again later. | 429 | -32000 | Too many requests from one address. |
Tool … isn’t available with this key. | 200 | -32602 | The tool is off, or not in the key's allow list. |
Too many calls with …: at most … a minute. Try again shortly. | 200 | -32029 | The calls a minute for this key, or this sign-in, are used. A signed-in user gets a key's limit. |
This workspace has used its tool calls for this month. They reset at …. | 200 | -32029 | The workspace's monthly calls are used. |
Under MCP revision 2026-07-28, the two limit errors carry -32010 instead of -32029.
Failed tool calls
| Message | When |
|---|---|
The arguments don’t match this tool: | The arguments failed the check. Each wrong path follows on its own line. |
arguments.…: is required. | A path argument is missing or empty. |
arguments.…: can’t be “.” or “..”. | A path argument would move up the path. |
The tool’s path leaves the API’s base URL. | The built path is outside your base URL. |
arguments.…: can’t contain line breaks. | A header argument has a line break. |
arguments.…: isn’t a valid header value. | A header argument can't be sent as a header. |
The API’s base URL isn’t allowed. | The base URL no longer passes the host check. |
The stored credential can’t be used. Store it again. | The credential can't be opened or sent. |
Your sign-in has expired. Sign in again from your MCP client. | A signed-in user's identity provider session has ended. |
This server calls its API as each signed-in user; keys can’t be used. | A key on a server that calls your API as each user, with no stored credential. |
The call couldn’t be built. | Anything else went wrong before sending. |
The API didn’t answer within … seconds. | Your API took longer than 15 seconds. |
The API couldn’t be reached. | The connection failed. |
The API answered … Redirects are not followed | Your API answered a redirect. Its Location follows. |
The API answered …. | Your API answered an error status. The start of its body follows. |
Where this comes from
app/hosted-mcp/_lib/upstream.tsapp/hosted-mcp/_lib/mcp.tsapp/hosted-mcp/_lib/server.tsapp/hosted-mcp/_lib/credential.tsapp/mcp/_lib/handler.tsapp/mcp/_lib/modern.ts