Methodology
How we decide whether an MCP server is likely to work with Microsoft Copilot Studio. Last data build: 2026-10-20. Entries evaluated: 45,721.
What we actually did: each listed remote server received one read-only, unauthenticated MCP
initialize request and, if it asked for credentials, a fetch of its public OAuth metadata. We did not list or call any tools, and no server was tested in Copilot Studio. Verdicts are rule-based estimates; always confirm with the vendor's docs.Corrections, takedown requests or questions: hello@mcp4copilot.dev.
What Copilot Studio supports (Microsoft's own docs)
- Transport: Copilot Studio supports the Streamable HTTP transport. SSE is no longer supported for MCP after August 2025. Local
stdioservers can't be added directly. (Microsoft Learn) - Auth in the MCP onboarding wizard: None · API key (header or query) · OAuth 2.0 in three modes: Dynamic discovery (server supports Dynamic Client Registration plus discovery), Dynamic (DCR without discovery; you enter the endpoints), and Manual (you register an app and paste the client ID, secret and URLs).
- Orchestration: MCP tools need generative orchestration turned on in the agent. MCP access goes through Power Platform connectors, so your tenant's data (DLP) policies apply.
- Certified servers: Microsoft publishes a list of certified MCP server connectors that appear in the Copilot Studio tool catalog (list, certification program).
Data sources
- Official MCP Registry (
registry.modelcontextprotocol.io/v0/servers): the latest version of every active server, with declared remotes (transport + URL + required headers) and packages. - Microsoft Learn: the certified MCP connector list, plus each connector's page (description, auth types, badges).
- Endpoint check: for each remote Streamable HTTP URL we send one MCP
initializerequest with no credentials (no tools are listed or called). If the server asks for credentials, we read its public OAuth metadata (RFC 9728 protected-resource metadata, then RFC 8414/OIDC authorization-server metadata) to see whether it offers Dynamic Client Registration. Re-checked weekly. - GitHub: stars, last push, archived flag and README keyword hints for linked repos.
Verdict rules
| R1 · likely compatible | Listed as a Microsoft-certified MCP connector. (81) |
| R2a · likely compatible | Remote Streamable HTTP endpoint answered initialize without credentials → auth None. (16,414) |
| R2b · likely compatible | Remote Streamable HTTP; the registry declares a secret/auth header → auth API key → Header. (4,242) |
| R2c · likely compatible | Requires OAuth, publishes discovery metadata, and its authorization server offers DCR → OAuth 2.0 → Dynamic discovery. (5,131) |
| R2d · needs work | OAuth metadata but no DCR → OAuth 2.0 → Manual; you register your own app. (245) |
| R2e · needs work | Asks for credentials but publishes no OAuth metadata and declares no header; check vendor docs. (245) |
| R2f · needs work | Endpoint URL is a template (per-tenant values) and wasn't checked. (267) |
| R2g · needs work | Declares Streamable HTTP but didn't give a valid MCP answer at the last check (timeout, error, or non-MCP response). (2,307) |
| R3 · not compatible | Only an SSE endpoint is listed. (729) |
| R4 · needs work | Local package only (stdio, or an HTTP server you must host). Host it behind a Streamable HTTP endpoint first. Counted, not listed individually. (15,571) |
| R5 · not compatible | No remote endpoint or package listed. Counted, not listed. (489) |
How we count
- Dedupe: entries with the same remote URL (normalized), or the same name from the same publisher, are merged into one; the copy with a repo/website and the newest update wins.
- Bulk publishers: a registry namespace with 40 or more servers, or one endpoint domain with 40 or more servers from 3 or fewer publishers, is collapsed into a single collection entry. It counts once in the headline numbers, under its best verdict, and gets one page that lists its members. Shared hosting platforms (workers.dev, vercel.app, railway.app and similar) are not collapsed by domain, because their servers come from many different publishers; a single publisher mass-registering on them is caught by the namespace rule.
- Headline numbers are these unique servers. Raw entry counts per rule are shown next to each rule below.
Known limits
- An API-key verdict (R2b) means the registry declares a header; we don't hold keys and can't verify them.
- OAuth “Dynamic discovery” in Copilot Studio can still fail on vendor-specific details (scopes, PKCE, redirect allow-lists). Vendor docs win.
- R2a only means the handshake succeeded without credentials. Some servers still ask for a key when a tool is called.
- Dedupe and bulk detection are heuristic; some near-duplicates and low-effort entries remain.
- Cloudflare Pages' free plan caps a site at 20,000 files, so when there are more candidates we page certified, OAuth and API-key servers first and skip unreachable (R2g) and some bulk-publisher entries. Everything still counts in the totals.
- Copilot Studio supports MCP tools and resources, not prompts.
- Not affiliated with Microsoft or the MCP project.