MCP Transports: stdio and Streamable HTTP Explained
MCP transports are stdio and Streamable HTTP. Here is how each carries messages, what the 2026-07-28 revision removed, and how Claude Code connects to them.
4 min read
MCP vs REST API comes down to who decides what to call: a developer at build time for REST, or the model itself at runtime for MCP.
A developer picking between the Model Context Protocol (MCP) and a REST API is really asking who gets to decide which operation runs: the person writing the code, or the model acting on a user's request. That single difference in control is what the rest of this comparison traces through.
MCP vs REST API comes down to this: a REST API is a fixed contract that a developer calls at build time, with the request shape and the response shape agreed in advance. MCP is a protocol that lets an AI model discover available tools at runtime and decide for itself which one to call, based on a plain-language description rather than a URL a developer already chose.
| REST API | MCP | |
|---|---|---|
| Written for | Developers who read docs and write code against the API | AI models and the applications (MCP hosts) that run them |
| Who decides what to call | The developer, at build time | The model, at runtime |
| Discovery | Read the documentation | The client sends a server/discover request and the server lists its tools, resources and prompts |
| What it describes | Endpoints, parameters, status codes | Tools (actions), resources (read-only context), prompts (templates) |
| Message format | HTTP verbs (GET, POST, etc.) over a URL path | JSON-RPC 2.0 messages over stdio or Streamable HTTP |
| Integration effort | One custom integration per API, per consuming app | One MCP server works with any MCP client (Claude, ChatGPT, Cursor, VS Code and others) |
| State | Each call is typically an independent HTTP request | The data layer is stateless by design; every request carries its own protocol version and capabilities |
| Best for | A fixed, known workflow: the same endpoint, every time | An agent choosing among several possible actions |
Source: MCP architecture overview, Jet Admin, "MCP vs API," 30 September 2026.
A REST API is an application programming interface built to the design rules of REST, representational state transfer, according to Red Hat's definition of REST APIs. An API itself is a contract between an information provider and an information consumer: the caller supplies defined inputs, and the provider returns a defined response. A weather API might require a zip code and return a high and low temperature. Nothing about that contract changes based on who or what is calling it.
That is also REST's limit for agent use. Jet Admin's comparison puts it directly: "A REST API says what an endpoint accepts. It does not say why it exists or when to use it instead of another." A developer reads the docs once and writes the calling code once. An AI agent, making that choice itself on every request, has no equivalent step to lean on.
MCP, the Model Context Protocol, is Anthropic's open standard for connecting AI applications to external tools and data. Anthropic introduced MCP on 25 November 2024 as a way to replace one custom integration per data source with a single protocol that any MCP client can speak. Early adopters named in that announcement included Block and Apollo, with Zed, Replit, Codeium and Sourcegraph building MCP support into their developer tools.

Under the current 2026-07-28 specification, MCP has two layers. The data layer is a JSON-RPC 2.0-based protocol covering discovery, capability negotiation and three core primitives: tools, resources and prompts. The transport layer carries those messages over one of two standard bindings, stdio for a local subprocess or Streamable HTTP for a remote server, with the same JSON-RPC message format on both. Per the official architecture overview, MCP is stateless by design: every request carries its own protocol version and capabilities, and a client can send a server/discover request before anything else to learn what a server offers.
The server concepts documentation splits that functionality into three building blocks, each with a different controller: tools are functions the model calls and controls, such as searching flights or sending a message; resources are read-only data the application retrieves and controls, such as a file or a calendar entry; and prompts are reusable instruction templates the user selects and controls, such as "plan a vacation." A tool is defined with a JSON Schema input, discovered through tools/list and invoked through tools/call, so an agent can see what a tool needs before it decides to use it.
An MCP server often sits on top of an existing REST API rather than replacing it. VMware Tanzu's Dan Vega wrote on 21 April 2026 that wrapping an API in an MCP server without rethinking it is a mistake: "If you simply wrap your existing APIs that return 50 fields when your model only needs 3, you're wasting tokens and money." Every tool definition and every response consumes tokens from the model's context window, so a server built for a model should return only what the model needs, not everything the underlying API happens to expose.
Before a shared protocol existed, connecting ten AI assistants to fifty tools meant building and maintaining up to 500 separate integrations, one per assistant-tool pairing. Jet Admin calls this the "N-times-M problem," and it is the reason MCP exists at all: ship one MCP server per tool and one MCP client per assistant, and every combination works without custom code. Eleks' Sergii Bataiev, Director of Architecture and Technology, described the same mechanics in an interview updated 29 October 2025, framing MCP's advantage as "bidirectional communication and dynamic tool discovery": an agent can discover what is available at runtime rather than a developer wiring it in at design time.

A directory like AI Agents Listing tracks which MCP servers exist for which APIs, which is useful when deciding whether to build your own server or reach for one someone else already shipped.

No. MCP is a layer built for AI models to discover and call tools; most MCP servers call a REST API, a database or another backend underneath to do the actual work. REST APIs remain the right choice for service-to-service communication where a developer, not a model, decides what gets called.
Yes, through function calling defined directly in an application's code. MCP standardizes that pattern so the same tool works across many AI clients (Claude, ChatGPT, Cursor and others) without a separate custom integration for each one, as Jet Admin's FAQ explains.
Not inherently. Security depends on the credentials, permission scoping and logging behind whichever one is in use. An MCP server running on an admin API key gives a model the same broad access that key always had; scoped credentials and audit logs matter equally for both approaches.
Only if you want AI assistants and agents to call it directly, choosing it at runtime among other tools. For app-to-app integration with no model in the loop, the REST API alone is enough; you do not need an MCP server on top of it.
Two standard transports as of the 2026-07-28 specification: stdio, for a client-launched local subprocess, and Streamable HTTP, where each message is an HTTP POST to a single endpoint with responses as JSON or a request-scoped SSE stream. Both carry the same JSON-RPC 2.0 message format.
Source: MCP specification, 2026-07-28 | Introducing the Model Context Protocol, Anthropic
Browse the current MCP server listings on AI Agents Listing to see which protocols and transports existing servers already support.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.
MCP transports are stdio and Streamable HTTP. Here is how each carries messages, what the 2026-07-28 revision removed, and how Claude Code connects to them.
4 min read
Adam Riccoboni, author of The AI Age, on why agents beat chatbots for productivity and five lessons from a decade of custom AI builds at Critical Future.
8 min read
MCP prompts are reusable message templates an MCP server exposes through prompts/list and prompts/get. Here is how they work, with the 2026-07-28 changes.
4 min read