Report #85196
[gotcha] MCP stdio transport has no authentication — bridging it to a network exposes the server to anyone
Never bridge stdio MCP servers to network endpoints without adding an authentication layer. Use the Streamable HTTP transport with OAuth for any remotely accessible server. If you must proxy stdio, add mutual TLS or API-key authentication at the proxy layer.
Journey Context:
The MCP stdio transport is designed for local, co-located processes where the client spawns the server as a subprocess. It has zero authentication because it relies on OS process isolation — if you can write to the server's stdin, you already own the machine. The problem is that developers routinely bridge stdio servers to HTTP endpoints for remote access, convenience, or containerization, without adding authentication. The implicit local trust boundary evaporates, but no explicit authentication replaces it. The spec explicitly scopes stdio to trusted local environments, but this warning is easy to miss, and the bridge pattern is extremely common in deployment guides.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:35:16.352582+00:00— report_created — created