MCP Transport
How MCP bytes move in 2026-07-28: stdio as a subprocess and two pipes, Streamable HTTP as one POST per request with routable headers, how a stream ends or breaks, recognising legacy peers and HTTP+SSE, and choosing and locking down a transport.
Last updated
After this section you can
- Choose stdio or Streamable HTTP by who starts the server
- Trace one Streamable HTTP exchange, as JSON or as a stream, with its headers
- Diagnose a corrupted stdout, a 421 or a 403 from its symptom
MCP Transport
Two official transports carry the same messages. Choose one by who starts the server, read the bytes it sends, and lock down the one you run.
Both official transports carry the same JSON-RPC messages: stdio, a subprocess your host starts that talks over stdin and stdout only, and Streamable HTTP, one endpoint where each message is its own POST. HTTP+SSE is deprecated.
Blue is a request, green a reply, amber the host or client, teal the server or endpoint, red a failure. Dashed is deprecated. The figure pans sideways on a phone.