iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
🧩

Microsoft 365 Copilot Declarative Agents Now Support MCP Servers

に公開

Support for MCP servers in Microsoft 365 Copilot declarative agents is now available in public preview.

https://devblogs.microsoft.com/microsoft365dev/build-declarative-agents-for-microsoft-365-copilot-with-mcp/?WT.mc_id=M365-MVP-5002941

Previously, only Web APIs based on the OpenAPI specification were supported, but now the option to use MCP servers has been added.

Specific instructions are provided in the Microsoft documentation. Using the Microsoft 365 Agent Toolkit makes it easier to create agents compared to manually creating JSON files.

https://learn.microsoft.com/ja-jp/microsoft-365-copilot/extensibility/build-mcp-plugins/?WT.mc_id=M365-MVP-5002941

If you look at an actual generated JSON, it looks like the following. While it is "type": "OpenApi" for Web APIs, it becomes "type": "RemoteMCPServer" for MCP servers. It is important to note that you must use manifest schema 2.4 or later to specify "type": "RemoteMCPServer". At this time, the Microsoft 365 Agent Toolkit uses manifest schema 2.1, so you may need to manually correct it if you see a warning.

{
  "$schema": "https://developer.microsoft.com/json-schemas/copilot/plugin/v2.4/schema.json",
  "schema_version": "v2.4",
  "name_for_human": "{{app-name}}",
  "description_for_human": "{{app-description}}",
  "contact_email": "{{contact-email}}",
  "namespace": "{{app-namespace}}",
  "functions": [
    {
      "name": "get_me",
      "description": "Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.",
      "parameters": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
  ],
  "runtimes": [
    {
      "type": "RemoteMCPServer",
      "spec": {
        "url": "https://api.githubcopilot.com/mcp/",
        "enable_dynamic_discovery": false
      },
      "run_for_functions": [
        "get_me"
      ],
      "auth": {
        "type": "OAuthPluginVault",
        "reference_id": "{{reference_id}}"
      }
    }
  ]
}

Currently, it does not support local standard input/output (stdio) MCP servers, so use cases are limited. However, as it is expected that the number of remotely executable MCP servers will increase in the future, their opportunities for use are likely to expand.

Discussion