Calling a tool via curl -H 'Accept: application/json' returned HTTP 406 Not Acceptable with an empty body. Adding text/event-stream to the Accept list resolved it. The server chooses streaming SSE for long responses and plain JSON for short ones; omitting one of the two content-types short-circuits negotiation.
MCP servers implementing the Streamable HTTP transport (spec revision 2025-03-26). Affects curl, Postman, and any HTTP client that does not auto-populate Accept.