How to Add a Remote MCP Server to Microsoft Copilot Studio
Copilot Studio connects to a remote MCP server through an onboarding wizard on the agent's Tools page. Generative orchestration has to be on first, the server must speak Streamable HTTP, and the right OAuth 2.0 mode depends on whether the server supports dynamic client registration. Agents on the newer GitHub Copilot harness use a separate, preview add path.
Last verified November 4, 2026
How do I add a remote MCP server to Copilot Studio?
Open the agent's Tools page, select Add a tool → New tool → Model Context Protocol, and the MCP onboarding wizard walks you through the server's name, description, URL, and authentication. Before any of that works, generative orchestration has to be turned on for the agent. Microsoft documents this as a requirement for MCP, not an optional setting.
Which Copilot Studio experience are you in?
As of November 2026, Microsoft describes everything you build in Copilot Studio as running on a harness, and the MCP add path depends on which one your agent uses:
- Standard harness (the topics-and-rules experience most existing agents use). This is the path this guide covers: the MCP onboarding wizard under Tools → Add a tool → New tool → Model Context Protocol, billed under the standard-harness licensing described below.
- GitHub Copilot harness (Microsoft's newer reasoning-first experience, which bills in Copilot Credits). Its MCP support is documented as preview and lives in a different place: open the agent's Build tab, select Tools, then in the Add a tool dialog select Add next to the search bar and choose Model Context Protocol (MCP). You enter a name, description, HTTPS server URL, and the authentication the server requires, then select Add. An MCP tab in the same dialog lists servers already published for your organization. Microsoft notes this harness shares technology with GitHub Copilot but is a Copilot Studio framework, not the GitHub Copilot service.
Microsoft also documents a third route for organizations: register an existing MCP server in Agents 365 through the Agents 365 CLI and the Microsoft 365 admin center, after which it becomes available in Copilot Studio once approved.
What you need first
- A Copilot Studio agent you can edit. This is a maker flow inside Copilot Studio, not a chat-side setting an end user can toggle. Microsoft lists a Copilot Studio user license, the Copilot Studio authors role assigned in the Power Platform admin center, a Microsoft 365 Copilot license, or a trial license as the ways in.
- The MCP server's URL, reachable from Copilot Studio.
- Any credentials the server requires: an API key, or a client ID and secret for OAuth 2.0.
- Generative orchestration turned on for the agent. Microsoft's MCP overview states this directly: "You must turn on generative orchestration to use MCP."
- A server that speaks Streamable HTTP. Copilot Studio supports only that transport for MCP; Microsoft's docs note that SSE transport was deprecated and Copilot Studio stopped supporting it for MCP after August 2025.
Copilot Studio access itself needs a tenant with Copilot Credit capacity: Microsoft documents that a Copilot Studio tenant prepaid Copilot Credit pack subscription is a prerequisite before the free Copilot Studio user license can be assigned to a maker. A trial license can build and test the connection in the test chat panel, but per Microsoft's licensing page a trial license can't publish the agent, so a trial is fine for evaluating an MCP server, not for shipping it.
Add the MCP server
- Go to the Tools page for your agent.
- Select Add a tool.
- Select New tool.
- Select Model Context Protocol. The MCP onboarding wizard opens.
- Fill in the required fields:
- Server name
- Server description. Microsoft's guidance is to make this a brief but clear summary, since the agent orchestrator uses this text to decide whether to call the server at runtime.
- Server URL
- Choose the authentication type: None, API key, or OAuth 2.0.
- If you chose None, select Create and skip to Connect it to the agent.
Authentication
API key
- Select API key.
- Choose the Type: Header (the key goes in a request header) or Query (the key goes in the URL as a query parameter).
- Enter the name of that header or query parameter.
- Select Create.
OAuth 2.0
Select OAuth 2.0, then pick one of three types depending on what the server supports:
- Dynamic discovery: the server supports OAuth 2.0 dynamic client registration (DCR) with a discovery endpoint. Copilot Studio auto-discovers the identity provider's endpoints and registers itself. This is the option Microsoft's docs describe as the simplest to configure: you select Create and there's nothing else to fill in.
- Dynamic: the server supports DCR but not discovery. You register dynamically but supply the Authorization URL and Token URL template yourself.
- Manual: the server doesn't support DCR at all. You supply everything the identity provider issued for the app registration: Client ID, Client secret, Authorization URL, Token URL template, Refresh URL, and optional space-separated Scopes.
For Manual, Copilot Studio shows a callback URL after you select Create; for Dynamic, Microsoft says one might appear depending on the configuration. Copy it into your identity provider's app registration as the redirect URI, since that's where the provider sends the user back after sign-in. The order matters: you enter the client ID and secret first, and only then see the callback URL to register, so expect to go back to the identity provider once more after creating the server. Microsoft's wizard docs don't say whether PKCE is used in this flow; if your provider requires or forbids it, test the sign-in before you rely on it.
Connect it to the agent
- Select Next (or, for the None path, you land here directly after Create). The Add tool dialog appears.
- Choose Create a new connection for the MCP server, or reuse an existing one.
- Select Add to agent.
Each tool and resource the server publishes is then automatically available in Copilot Studio, and Microsoft documents that changes on the server side are reflected dynamically. Per Microsoft's MCP overview, Copilot Studio currently supports MCP tools and resources, not prompts. Review the tool list before you rely on it: the orchestrator reads the descriptions to decide what to call, and Microsoft's guidance (stated on its GitHub Copilot harness page) is to have thin descriptions improved on the server side rather than worked around in the agent.
Test it
Use the agent's test chat panel (the Preview tab in the GitHub Copilot harness experience) and ask something that should require one of the new tools. In the GitHub Copilot harness, open the activity trace to confirm which tool ran, what arguments it received, and what came back; that's the fastest way to tell "the server connected but the agent never calls it" apart from "the tool ran and returned something unexpected."
What usually goes wrong
| Problem | Fix |
|---|---|
| Tools never get invoked, even though the server connected | Confirm generative orchestration is turned on for the agent. Microsoft documents it as required for MCP, and an agent on classic orchestration can't use MCP tools at all. |
| "Model Context Protocol" isn't where this guide says | Check which harness the agent runs on. Standard-harness agents use Tools → Add a tool → New tool → Model Context Protocol; GitHub Copilot harness agents use the Build tab's Tools panel and the Add button in the Add a tool dialog (preview). Also confirm you have a Copilot Studio license or the authors role. |
| Connection is blocked or the connector can't be used | Microsoft documents that MCP access in Copilot Studio rides on Power Platform connectors, so a data policy that regulates connectors also regulates the MCP server. Check the tenant's data policies in the Power Platform admin center. |
| Server connects but no tools show up | Confirm the server uses Streamable HTTP (SSE is no longer supported for MCP) and actually returned a tool list. If it did but the agent still won't call it, tighten the server description and the tool's own description, since the orchestrator reads that text to decide when to use it. |
| OAuth callback never gets hit / sign-in loops | For Dynamic or Manual OAuth, make sure the callback URL Copilot Studio shows you after Create was actually added as a redirect URI in the identity provider's app registration. |
| Tool schema problems | Microsoft's MCP troubleshooting page lists known issues: reference-type inputs are filtered out of the tool list, enum inputs are read as strings, a type given as an array of types gets truncated, and an integer exclusiveMinimum throws. Keep schemas simple on the server side. |
| Agent tries to use more MCP servers than expected and some get skipped (GitHub Copilot harness) | Microsoft caps how many MCP servers can run concurrently in a single conversation turn on the GitHub Copilot harness; keep the number of servers attached to an agent small and remove ones you're not using. |
| Trial license can't publish the connected agent | Expected. Microsoft documents that a Copilot Studio trial license can test in the chat panel but can't publish. See Microsoft's licensing page for the paid routes. |
Before you connect a third-party server
As with any MCP server you connect to a Copilot Studio agent, you're responsible for the data it can reach and the tools it exposes. Microsoft's own MCP docs are explicit that connecting a non-Microsoft MCP server puts that responsibility on you.
Sources
The dated claims on this page were checked against these vendor documents. Client UIs move constantly, so if one of these has changed since the date shown, trust the vendor over this page — and tell us.
- Connect your agent to an existing MCP server — Microsoft Copilot Studio | Microsoft Learn — read 2026-11-04
- Extend your agent with Model Context Protocol — Microsoft Copilot Studio | Microsoft Learn — read 2026-11-04
- Licensing for agents powered by the standard harness — Microsoft Copilot Studio | Microsoft Learn — read 2026-11-04
- Harnesses in Copilot Studio — Microsoft Copilot Studio | Microsoft Learn — read 2026-11-04
- Add an MCP server to your agent as a tool (GitHub Copilot) (preview) — Microsoft Copilot Studio | Microsoft Learn — read 2026-11-04
Frequently asked questions
- Who can add an MCP server in Copilot Studio?
- This is a maker/admin flow, not an end-user chat setting. Microsoft lists four ways in: a Copilot Studio user license (free to assign, but the tenant needs a Copilot Studio prepaid Copilot Credit pack subscription first), the Copilot Studio authors role in the Power Platform admin center, a Microsoft 365 Copilot license (which Microsoft documents for building agents on the GitHub Copilot harness), or a trial license. A trial lets you build and test an agent's MCP connection in the test chat panel, but Microsoft documents that a trial license cannot publish the agent.
- Why doesn't my agent see the MCP server's tools?
- Generative orchestration has to be turned on for the agent. Microsoft documents this as a requirement to use MCP at all, separate from the server connecting successfully. Also confirm the server speaks Streamable HTTP (Copilot Studio dropped SSE for MCP after August 2025), that it actually returned a tool list, and that the server description is clear, since the orchestrator reads that text to decide whether to call the server at runtime.
- Which OAuth 2.0 type should I pick: Dynamic discovery, Dynamic, or Manual?
- Try Dynamic discovery first if the server supports OAuth 2.0 dynamic client registration (DCR) with a discovery endpoint. Microsoft documents it as the simplest option, since Copilot Studio registers itself automatically. If the server supports DCR but not the discovery mechanism, use Dynamic and supply the authorization and token URLs yourself. If the server doesn't support DCR at all, use Manual and supply the client ID, client secret, authorization URL, token URL, and refresh URL from the identity provider's own app registration; the callback URL to register appears after you select Create.