# X_MCP_BODY_TOO_LARGE

## Means

one MCP message is larger than the transport holds

## Typical cause

a `POST /mcp` body over `bodyLimitBytes` (default 1 MiB), answered `413` on a JSON-RPC `-32600` with `id: null` and `data: { code, cause, fix, limit }` — or one stdio line over `lineLimitBytes`, answered the same way on that wire. Its own code rather than `X_BODY_INVALID` because the knob differs: this route never passes through the HTTP pipeline's `bodyLimitBytes`. It was a bare `-32600` reading `request body is at least N bytes, limit is M` until 2026-09-07 — two numbers and no next step, while the 401, 403 and 429 beside it all carried `{ code, cause, fix }`

## Fix

send less in one message — page a large read, split a long prompt across calls — or raise the cap where the route is built: `mcpHttpRoute({ bodyLimitBytes })` / `defineAppMcp({ bodyLimitBytes })`, and over stdio `serveStdio({ lineLimitBytes })`

[MCP and AI](/error-codes#mcp-and-ai)
