← Learn

Streamable HTTP vs SSE vs stdio: which MCP transports work with Copilot Studio

MCP defines how a client and a server exchange messages, and the “transport” is how those messages travel. Copilot Studio only accepts one of them. Here's what each one is, how many registry servers use it today, and what to do if the server you want is local-only.

Short version. Copilot Studio supports the Streamable HTTP transport. Microsoft Learn says SSE is deprecated and Copilot Studio “no longer supports SSE for MCP after August 2025.” A stdio server runs as a local process, so it has to be hosted behind a Streamable HTTP endpoint before Copilot Studio can reach it. (Microsoft Learn)

The three transports

stdio

The MCP spec says that with stdio, “the client launches the MCP server as a subprocess.” The server reads JSON-RPC messages from standard input and writes them to standard output, one message per line. It's the usual choice for desktop clients and local tools. (MCP spec: Transports)

Copilot Studio's MCP onboarding wizard asks for a Server URL; there's no option to launch a local command. So a stdio-only server can't be added directly.

Streamable HTTP

The server runs as an independent process and exposes a single MCP endpoint that supports POST and GET, for example https://example.com/mcp. Each client message is an HTTP POST, and the server replies with either one JSON object or an SSE stream. In the spec, it “replaces the HTTP+SSE transport from protocol version 2024-11-05.” (MCP spec)

This is the transport Copilot Studio supports. Note that Streamable HTTP can use Server-Sent Events inside a response; that's fine. What Copilot Studio dropped is the older, separate HTTP+SSE transport.

HTTP+SSE (legacy)

The older transport from protocol version 2024-11-05 used a long-lived SSE stream that starts with an endpoint event, plus a separate POST endpoint. The spec now treats it as deprecated and only describes it for backwards compatibility. Copilot Studio no longer supports it after August 2025. (Microsoft Learn)

Which transport registry servers use today

What the registry listsEntriesCopilot Studio
Remote Streamable HTTP endpoint29,191Supported transport (of these, 344 also list an SSE endpoint; use the Streamable HTTP one)
Remote SSE endpoint only728Not supported
Local package only, stdio15,321Host it first
Local package only, declares an HTTP transport355Host it first (no bridge needed)
No endpoint or package490Nothing to connect to

Registry entries after dedupe (46,085 registry entries; bulk-publisher collections not collapsed, so these add up to more than the unique-server headline). The 81 Microsoft-certified connectors are added from the Copilot Studio tool catalog instead. A Streamable HTTP endpoint being listed doesn't mean it works: see the directory verdicts. Data built 2026-10-21.

Options for stdio-only servers

The general idea: get the server running somewhere Copilot Studio can reach over HTTPS, speaking Streamable HTTP at one URL. Common approaches:

  1. Check for a remote or HTTP mode first. Some projects already run a hosted endpoint or can start in Streamable HTTP mode; 355 local-only registry entries declare an HTTP transport in their package. If so, you only need to host it.
  2. Put a stdio-to-Streamable-HTTP bridge in front of it. A small gateway process launches the stdio server as a subprocess and exposes it as a Streamable HTTP endpoint. Open-source bridges exist (for example supergateway). We haven't tested any bridge with Copilot Studio.
  3. Port it to Streamable HTTP. If you control the code, the official MCP SDKs support Streamable HTTP servers. Microsoft's guide to building a server points to the SDKs. (MCP SDKs, Create a new MCP server)

Whichever you pick, a few things carry over:

Sources

Get the weekly “What changed” email. New Copilot-ready servers, ones that broke, and Copilot Studio MCP changes.

Verdicts are rule-based estimates from public metadata and a read-only protocol probe, not tested in Copilot Studio. Independent project, not affiliated with Microsoft.