Server-Sent Events (SSE) is an HTTP-based transport for streaming updates from a server to a client over a persistent connection. In MCP deployments, it connects an agent to a server outside the agent process, unlike STDIO, which uses local process pipes. section 3.1.4 section 3.2.3
Use SSE when the server needs to remain independently accessible:
- Connect agents to MCP servers running on another machine, container, or cloud resource. section 3.3
- Share one tool server across multiple agents instead of restricting access to the process that launched it. section 3.1.4 section 3.3.2
- Choose local STDIO instead when low latency, simple process management, and single-machine access matter more than remote access. section 3.1.4 section 3.3
Run and connect to an SSE MCP server
Start the server externally with `mcp run -t sse 01_claude_mcp_server.py`. Then configure an MCP SSE client with the URL `http://localhost:8000/sse`, rather than a server command and arguments. The agent can keep the same tool-using logic while the transport changes from STDIO to SSE. section 3.3.2 section 3.5
Table 3.1 Differences between STDIO and SSE transports for MCP servers
| Name |
How it works |
When you should use it |
|---|---|---|
| STDIO |
The client launches the MCP server as a subprocess on the same host and exchanges JSON-RPC 2.0 messages over the process’s stdin/stdout pipes. No networking stack is involved, so the link is low-latency but strictly one-to-one: only the parent process that spawned the server can talk to it. |
|
| SSE |
The MCP server runs as an HTTP service. Clients post JSON-RPC requests to |
|
Compare SSE with STDIO by protocol, network involvement, connection scope, and recommended deployment scenarios. section 3.2.3

