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