What is an MCP Transport?

1 min read Updated

The communication layer between MCP clients and servers, currently supporting stdio (local process) and Streamable HTTP (remote services), which determines how JSON-RPC messages are exchanged.

WHY IT MATTERS

MCP is transport-agnostic — the protocol defines the messages, not how they're delivered. Stdio pipes JSON-RPC over standard input/output for local processes. Streamable HTTP sends them over HTTP for remote servers.

The transport choice has security implications. Stdio runs locally with the agent's permissions. HTTP traverses networks, enabling remote tool access but also man-in-the-middle risks. A transport-aware proxy can enforce policies regardless of how the connection is made.

HOW POLICYLAYER USES THIS

Intercept operates at the transport layer, intercepting JSON-RPC messages on both stdio and HTTP transports without requiring changes to the client or server.

FREQUENTLY ASKED QUESTIONS

Which transport should I use?
Stdio for local tools (file access, shell commands). Streamable HTTP for remote services (APIs, cloud tools). SSE (Server-Sent Events) is being deprecated in favour of Streamable HTTP.
Can I mix transports?
Yes. A single agent can connect to local stdio servers and remote HTTP servers simultaneously. Each connection is independent.

FURTHER READING

Enforce policies on every tool call

Intercept is the open-source MCP proxy that enforces YAML policies on AI agent tool calls. No code changes needed.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.