Claude Desktop: HTTPS MCP tools/call sends GET instead of POST for large payloads
Resolved 💬 2 comments Opened Apr 3, 2026 by MJones-commits Closed Apr 6, 2026
Bug
When using Claude Desktop with a direct HTTPS MCP connection (not stdio proxy), large tools/call payloads fail with:
Request with GET/HEAD method cannot have body
Reproduction
- Connect Claude Desktop to an HTTPS MCP server (e.g.
https://www.lava.so/mcp) - Call a tool with a short input — works fine
- Call the same tool with a longer input (e.g. a multi-paragraph
questionstring) — fails with the GET/body error
Observed behavior
- Short payloads: Request goes through as POST, tool works
- Large payloads: Request is sent as GET with a body, which HTTP spec rejects
- The threshold appears to be payload size — the same tool works or fails depending on input length
Expected behavior
All tools/call requests should be sent as POST regardless of payload size. The MCP Streamable HTTP spec requires POST for all JSON-RPC messages.
Workaround
Using a stdio proxy that always forwards as POST works. Only the native HTTPS MCP client in Claude Desktop is affected.
Environment
- Claude Desktop (macOS)
- MCP server: Vercel-hosted Next.js with
WebStandardStreamableHTTPServerTransport - Connection type: Direct HTTPS (not stdio proxy)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗