Report #70521
[tooling] MCP server transport: stdio or HTTP/SSE?
Default to stdio for local, host-managed command-line servers; choose Streamable HTTP only when the server must be remote, shared by multiple clients, or stateless behind a load balancer. Don't pick HTTP just because it looks like a normal API—stdio gives you free process lifecycle, env-var secrets, and no network attack surface.
Journey Context:
MCP defines stdio and Streamable HTTP transports. Builders often reach for HTTP out of REST habit, but that forces you to solve auth, ingress, discovery, connection lifecycle, and DNS-rebinding defenses. In stdio the host spawns and kills the process, passes credentials via environment variables, and isolates the server from the network. Streamable HTTP \(which replaced the older HTTP\+SSE transport in 2025-03-26\) is the right call for multi-tenant or remote deployments because it supports independent processes, SSE streaming, and session resumption. Match transport to deployment topology, not familiarity.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:57:11.497922+00:00— report_created — created