note · growing
Transports: stdio and HTTP
stdio for local, Streamable HTTP for remote. The legacy HTTP+SSE transport is deprecated.
Two transports in practice, and the choice is really "same machine or not".
| Transport | Used for | Shape |
|---|---|---|
| stdio | local servers | child process, stdin/stdout |
| Streamable HTTP | remote servers | plain HTTP, stateless |
| HTTP+SSE (legacy) | nothing new | deprecated, on a 12-month offramp |
Host
spawn process
stdio
Server
Host
HTTPS request
Streamable HTTP
Server
Why the shift away from SSE
The original remote transport held a long-lived server-sent-events stream open so the server could push requests back. That made every connection sticky — you could not put a plain load balancer in front of it, and a dropped stream lost the session.
stdio is not a lesser transport — for anything that touches the local filesystem or local credentials it is the correct one, and the simplest.