What transports does MCP support?medium
Two transport mechanisms: stdio for a local subprocess, where the client spawns the server and they talk over stdin/stdout with no network involved, and streamable-http for HTTP-based servers running either locally or remotely, where the client hits a URL and supplies an auth header for hosted third-party servers.
stdio has no port and no network — best for local scripts and dev tools. streamable-http covers two cases: a local service you run yourself (the client hits http://localhost:PORT/mcp) and a remote server hosted by a third party (the client hits their URL with an Authorization header, such as GitHub's or Stripe's MCP endpoint). streamable-http is the current name for what used to be called SSE (Server-Sent Events) — SSE was MCP's original HTTP transport, pushing events over a persistent connection; the 2025 spec update replaced it with the more flexible streamable-http, which supports both streaming and regular HTTP. Most modern servers use streamable-http; if you see "sse" as a transport in older code, treat it as the predecessor.