使用模型上下文协议扩展代理

使用工具扩展代理的另一种方法是通过模型上下文协议(MCP)。

什么是模型上下文协议?

模型上下文协议 (MCP) 允许用户在 Copilot Studio 中直接连接现有的知识服务器和数据源。 通过连接到 MCP 服务器,您可以访问:

  • 资源:客户端应用程序可以读取的类似文件的数据(如 API 回复或文件内容)
  • 工具:语言模型可以调用的函数
  • 提示:用于完成特定任务的预定义提示模板

备注

Copilot Studio 目前仅支持工具。

MCP 如何运作?

MCP 服务器发布的每个工具都会自动添加为 Copilot Studio 中的工具。 名称、描述、输入和输出继承自服务器。 随着工具在 MCP 服务器上的更新或移除,Copilot Studio 会动态反映这些变化,确保用户始终拥有最新版本,并移除过时的工具。 单个 MCP 服务器可以集成和管理多个工具,每个工具都可以作为 Copilot Studio 中的工具进行访问。

连接到非微软产品(包括外部 MCP 服务器)时,你负责从 Copilot Studio 内访问的工具和数据。

备注

必须启用生成式业务流程才能使用 MCP。

在 Copilot Studio 中使用 MCP 扩展代理的过程是什么?

要在 Copilot Studio 中集成 MCP:

  1. 创建 MCP 服务器
  2. 根据下面提供的 YAML 架构模板创建自定义 MCP 连接器
  3. 通过 Copilot Studio 将现有 MCP 连接器中的工具添加到智能体来使用。
  4. (可选) 发布 MCP 连接器 ,以允许跨租户使用连接器。

创建 MCP 服务器

可以使用 MCP 软件开发工具包(SDK) 以一种受支持的语言设置 MCP 服务器。

创建自定义 MCP 连接器

支持的传输

在 MCP 中,传输是客户端与服务器通信的基础。 传输处理发送和接收消息的机制。 目前,Copilot Studio 支持以下传输类型:

  • 可流传输 - 推荐(正式发布)
  • 服务器发送事件 (SSE)(公开预览版)

备注

鉴于 SSE 传输 已弃用,MCS 中的 SSE 传输支持仍为公共预览版。 从 2025 年 8 月开始,Copilot Studio 将不再支持 MCP 的 SSE。

配置自定义连接器

设置好 MCP 服务器后,您必须为 MCP 服务器配置自定义连接器(通过 Power Apps 或 Power Automate)。 若要执行此过程,需要 MCP 服务器的架构文件。 模式文件是一个 OpenAPI 规范 YAML 文件,描述了 MCP 服务器的应用程序接口。

有关规范文件的外观的指导,请查看提供的 一些 MCP 服务器架构示例

  1. 在左侧导航中选择代理

  2. 从代理列表中选择您的代理。

  3. 转到代理的 “工具” 页。

  4. 选择 “添加工具”。

  5. 选择 “新建”工具

  6. 选择 “自定义连接器”。 您将进入 Power Apps 页面创建新的自定义连接器。

  7. 选择新建自定义连接器

  8. 选择导入 OpenAPI 文件

  9. 导航至模式文件,选择导入以导入文件。

  10. 选择 “继续 ”以在 Power Apps 中完成设置。 有关设置过程的更多信息,请参阅 Power Apps 文档的导入 OpenAPI 定义

MCP 服务器架构示例

下面是使用虚构数据的 MCP 服务器的两个示例 OpenAPI 架构文件(采用 YAML 格式)。 这些示例演示了每种受支持的传输方式。 您需要填写自己的 MCP 服务器的详细信息。

下面是适用于 Streamable 的示例 YAML(建议):

swagger: '2.0'
info:
  title: Contoso
  description: MCP Test Specification, YAML for streamable MCP support in Copilot Studio
  version: 1.0.0
host: contoso.com
basePath: /
schemes:
  - https
paths:
  /mcp:
    post:
      summary: Contoso Lead Management Server
      x-ms-agentic-protocol: mcp-streamable-1.0
      operationId: InvokeMCP
      responses:
        '200':
          description: Success

下面是SSE的示例YAML:


swagger: '2.0'
info:
  title: Contoso
  description: MCP Test Specification, YAML for SSE MCP support in Copilot Studio
  version: 1.0.0
host: contoso.com
basePath: /
schemes:
  - https
paths:
  /mcp/sse:
    get:
      summary: Contoso Lead Management Server
      x-ms-agentic-protocol: mcp-sse-1.0
      operationId: InvokeMCP
      responses:
        '200':
          description: Success 

Microsoft COPilot Studio 中提供的 MCP 连接器

Microsoft提供了许多预生成的 MCP 连接器,用于连接到 Copilot Studio 中的Microsoft服务。 以下是 Copilot Studio 中提供的Microsoft MCP 连接器:

  • Dataverse
  • Dynamics 365
    • 销售额
    • 金融
    • 供应链
    • 服务
  • 织物

将现有 MCP 连接器的工具添加到智能体

您可以直接从 Copilot Studio 连接到现有的 MCP 服务器。 添加工具的过程是相同的,无论是对于预生成Microsoft MCP 连接器还是你自己创建的 MCP 连接器。

若要将现有 MCP 连接器添加到代理,请执行以下步骤:

  1. 在左侧导航中选择代理

  2. 从列表中选择代理。

  3. 转到代理的 “工具” 页。

  4. 选择 “添加工具”。

  5. 选择 模型上下文协议。 将显示 MCP 连接器的列表。

  6. 从列表中选择所需的 MCP 连接器。

  7. 授权连接,输入所需的任何信息。

  8. 完成后,选择“ 添加到代理 ”或 “添加并配置 ”以继续。

    第一个选项只是将 MCP 连接器及其工具添加到代理,而第二个选项则添加连接器及其工具,同时提供配置连接器详细信息的机会。

MCP 工具将添加到 “工具”下的代理。

查看 MCP 连接器附带的工具列表

要查看添加到智能体的 MCP 服务器附带的工具列表:

  1. 转到代理的“ 工具 ”选项卡。

  2. 从工具列表中选择 MCP 连接器。

    此时会显示 MCP 连接器的设置页。

  3. 转到 “工具” 部分,查看 MCP 服务器支持的工具列表。

已知问题和计划的改进

以下是产品团队发现并正在解决的问题:

问题 解决/变通方法
目前,在开放 SSE 连接调用中返回的端点必须是完整的 URI。 不适用