Report #39847
[gotcha] MCP stdio transport has zero authentication — any local process can connect or impersonate the server
Do not rely on stdio transport for security boundaries. Use the Streamable HTTP transport with proper authentication if you need access control. Treat the local machine as your trust boundary — any process on the same machine can interact with stdio MCP servers.
Journey Context:
The stdio transport is designed for same-machine communication between a host process and an MCP server subprocess via stdin/stdout. It has no authentication, no encryption, and no integrity checking. Developers sometimes expose stdio MCP servers via wrapper scripts, TCP proxies, or container port mappings, assuming the transport itself provides security. It does not. If an attacker can run code on the local machine, they can connect to or replace the MCP server. The MCP spec explicitly scopes stdio to local trusted environments, but this constraint is frequently violated in deployment.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T21:21:28.491512+00:00— report_created — created