Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Another way to extend your agent with tools is via Model Context Protocol (MCP).
What is Model Context Protocol?
Model Context Protocol (MCP) allows users to connect with existing knowledge servers and data sources directly within Copilot Studio. Connecting to an MCP server gives you access to:
- Resources: File-like data that client applications can read (like API responses or file contents)
- Tools: Functions a language model can call
- Prompts: Predefined prompt templates to accomplish specific tasks
Note
Copilot Studio currently only supports MCP tools.
How does MCP work?
Each tool published by the MCP server is automatically added as a tool in Copilot Studio. Name, description, inputs, and outputs are inherited from the server. As tools are updated or removed on the MCP server, Copilot Studio dynamically reflects these changes, ensuring users always have the latest versions and that obsolete tools are removed. A single MCP server can integrate and manage multiple tools, each accessible as a tool within Copilot Studio.
When you connect to a Non-Microsoft Product, including an external MCP server, you are responsible for the tools and data you access from within Copilot Studio.
Note
Generative Orchestration must be enabled to use MCP.
What is the process to extend an agent using MCP in Copilot Studio?
To integrate MCP in Copilot Studio:
- Connect your agent to an existing MCP server based on the YAML schema template provided below.
- Create an MCP server if you don't already have an MCP server.
- Add MCP server tools to your agent so that your Copilot Studio agent can use them.
- (Optional) Publish your MCP connector to allow the connector to be used across tenants.
Known Issues & Planned Improvements
The following are identified issues the product team is aware of and working on:
Issues | Resolution/Workaround |
---|---|
Currently, the endpoint returned in the Open SSE connection call must be a full URI. | Not applicable |