mcpField
M
Microsoft Copilot Studio ❤️ MCP

Microsoft Copilot Studio ❤️ MCP

本地服务
github.com/gecBurton开发工具077 周前更新

关于 Microsoft Copilot Studio ❤️ MCP

Microsoft Copilot Studio ❤️ MCP 是一份实验指南,带领读者部署 MCP 服务并将其添加到 Microsoft Copilot Studio。示例服务可从三个网站获取不同类型的笑话,并以工具形式供 Agent 使用。

主要功能

  1. 01指导部署 Azure Web App
  2. 02创建 Power Platform Connector
  3. 03将 MCP 服务添加为 Agent 操作
  4. 04获取三类笑话及 Chuck Norris 分类

适用场景

  1. 01在 Copilot Studio 中构建笑话 Agent
  2. 02学习将 MCP 服务接入 Power Platform
  3. 03测试基于工具的笑话获取

MCP 相关

该项目展示如何部署 MCP 服务并将其接入 Microsoft Copilot Studio。示例服务向客户端提供笑话获取工具,包括 Chuck Norris、Dad 和 Yo Mama 笑话。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Microsoft Copilot Studio ❤️ MCP

欢迎参加 Microsoft Copilot Studio ❤️ MCP 实验。在本实验中,你将学习如何部署 MCP 服务,以及如何将其添加到 Microsoft Copilot Studio。

什么是 MCP?

模型上下文协议(MCP) 是一种开放协议,用于标准化应用程序向大模型提供上下文的方式,由 Anthropic 定义。MCP 提供了一种标准化方式,可将 AI 模型连接到不同的数据源和工具。借助 MCP,创作者可以将现有的知识服务器和 API 无缝集成到 Copilot Studio 中。

目前,Copilot Studio 仅支持工具。若要了解当前功能,请参阅 aka.ms/mcsmcp。目前存在一些已知问题和计划改进项,详见此处。

MCP 与连接器

何时使用 MCP?何时使用连接器?MCP 会取代连接器吗?

MCP 服务通过连接器基础设施提供给 Copilot Studio,因此这些问题并不适用。MCP 服务使用连接器基础设施,这意味着它们可以采用企业安全和治理控制,例如虚拟网络集成、数据丢失防护控制、多种身份验证方法——这些功能在此版本中均可用,同时还支持 AI 驱动的 Agent 实时访问数据。

因此,MCP 和连接器确实是强强联手。

先决条件

  • Azure 订阅(已添加付款方式)
  • 拥有 GitHub 帐户并已登录
  • Copilot Studio 试用版或开发者帐户
  • 已预配 Power Platform 环境

实验

若要部署此 MCP 服务并在 Microsoft Copilot Studio 中使用,需要完成以下操作:

基于模板创建新的 GitHub 存储库
  1. 选择 Use this template

  2. 选择 Create a new repository

    README 配图

  3. 选择正确的 Owner

  4. 为其指定 Repository name

  5. 你也可以选择为其填写 Description

  6. 选择 Private

  7. 选择 Create repository

    这需要一些时间。完成后,你将转到新创建的存储库。

警告


完成本实验中的步骤后,你将在 Azure 上运行一个可公开访问的 MCP 服务。通常不应如此。请务必在实验结束后删除 Azure Web App。

部署 Azure Web App
  1. 前往 portal.azure.com

    Azure 门户

  2. 将鼠标悬停在 Resource groups 选项卡上,然后选择 Create

    资源组

  3. 点击 Subscription 下拉菜单,然后从列表中选择你的订阅

    选择订阅

  4. 点击 Resource group 名称文本框,然后输入资源组名称,例如“jokesgrp”

    资源组名称

  5. 选择 Region 下拉菜单,然后选择离你最近的区域

    资源组区域

  6. 点击 Review + create

    审核并创建

  7. 点击 Create

    创建

  8. 选择 Go to resource group

    前往资源

  9. 选择 Create

    创建

  10. 点击 search box

    搜索

  11. 输入 web app

  12. 在 Web App 搜索结果中选择 Create button

    搜索结果

  13. 选择 Web App

    创建 Web App

  14. 选择 Name 文本输入框,然后输入 Web App 的名称,例如“wegotjokes”

    Web App 名称

  15. 选择 Runtime stack 下拉菜单,然后选择 Node 22 LTS

    Web App 运行时

  16. 选择 Region 下拉菜单,然后选择离你最近的区域

    区域

  17. 点击 Review + create

    审核

  18. 点击 Create

    创建

  19. 点击 Refresh 以更新部署进度

    刷新

  20. 部署完成后,选择 Go to resource

    前往资源

  21. 展开 Deployment 选项卡

    Deployment 选项卡

  22. 点击 Deployment Center

    Deployment Center

  23. 点击 Source 下拉菜单,然后选择 GitHub

    选择源

  24. 选择 Authorize

    授权

  25. 选择 Continue

    继续

  26. 选择 Authorize AzureAppService

    授权 AzureAppService

  27. 点击 Organization 下拉菜单,然后选择你的组织

    组织选择

  28. 点击 Repository 下拉菜单,然后从列表中选择你之前创建的 GitHub 仓库

    仓库选择

  29. 点击 Branch 下拉菜单,然后选择你的分支

    选择分支

  30. 保持其他设置为默认值,然后选择 Save

    保存

  31. 点击 Refresh 以更新部署状态

    刷新

  32. 确认部署已完成

    部署完成

创建 Power Platform 连接器
  1. 前往 https://make.powerapps.com/

  2. 在左侧菜单中选择 More

  3. 选择 Discover all 按钮

  4. 在 Data 下,选择 Custom connectors 旁边的 pin icon,将其固定到左侧菜单

  5. 在左侧菜单中选择 Custom connectors

  6. 选择 New custom connector

  7. 选择 Create from blank

    README 配图

  8. 为连接器命名(例如 JokesMCP)

  9. 选择蓝色的 Continue 按钮

  10. 选择 Swagger editor 开关

    README 配图

  11. 从此处复制 yaml 代码,并替换 Swagger editor 中的代码

  12. 在 Swagger editor 中,将 dummyurl.azurewebsites.net 替换为你之前创建的 Web 应用的 URL。请务必移除 https:// 以及 azurewebsites.net 之后的所有内容

  13. 选择 Create connector 以创建连接器

在 Microsoft Copilot Studio 中将 MCP 服务添加为操作

现在,你已在 Azure 中运行 MCP 服务,并在 Power Platform 中拥有一个连接器。此步骤将介绍如何在 Microsoft Copilot Studio 中创建 Agent,并将 MCP 服务添加到该 Agent。

  1. 前往 https://copilotstudio.microsoft.com

  2. 选择右上角的环境选择器

  3. 选择正确的环境

  4. 在左侧导航中选择 Create

  5. 选择蓝色的 New agent 按钮

    新建 Agent

  6. 在右上角选择 Skip to configure

    跳过并配置

  7. 将名称更改为 Jokester

  8. 添加以下 Description

    一个专注于幽默的 Agent,仅在用户请求时提供简洁、引人入胜的笑话,并调整风格以符合用户的语气和偏好。它始终保持角色设定,避免重复,并过滤冒犯性内容,确保体验始终得体又风趣。
    
  9. 添加以下 Instructions

    你是一名讲笑话的助手。你的唯一职责是在用户请求时讲得体、巧妙又有趣的笑话。请遵循以下规则:
    
    * 仅当用户要求讲笑话或提出相关请求时才回复(例如“讲点有趣的”)。
    * 根据用户的输入匹配其语气和幽默偏好,例如健康、黑色幽默、冷幽默、双关语、爸爸笑话等。
    * 绝不脱离角色,也不提供与幽默无关的信息。
    * 笑话应简洁,格式清晰。
    * 避免冒犯性、歧视性或 NSFW 内容。
    * 不确定用户的幽默偏好时,默认讲一个巧妙且适合所有人的笑话。
    * 同一会话中不要重复笑话。
    * 除非用户明确要求,否则不要解释笑话。
    * 反应迅速、机智风趣。
    
  10. 在右上角选择 Create

    创建 Agent

  11. 启用生成式 AI Orchestration

    开启编排

  12. 在 Knowledge 部分禁用通用知识

    关闭通用知识

  13. 在顶部菜单中选择 Actions

    操作

  14. 选择 Add an action

    添加操作

  15. 搜索你之前创建的连接器名称(本例中为 jokes)(见下方截图中的数字 1)

  16. 选择 Jokes MCP server(见下方截图中的数字 2)

    搜索并选择操作

  17. 等待创建连接,然后在完成后选择 Next

    操作和连接

  18. 将 Description for the agent to know when to use this action 更改为以下文本:

    当用户要求讲笑话时触发此操作。它可以提供 Chuck Norris 笑话、爸爸笑话和“你妈妈”笑话。
    

    其余部分保留默认设置,例如最终用户身份验证,稍后会详细介绍。

  19. 选择 Add action,将操作添加到 Agent

    添加操作

  20. 在 Test your agent 窗格中选择 refresh icon

    刷新测试窗格

  21. 在 Test your agent 窗格中发送以下消息:

    Can I get a Chuck Norris joke?
    

    你会看到一条消息,提示运行此操作需要额外权限。这是因为操作向导中设置了用户身份验证。

  22. 选择 Connect

    需要额外权限

    这会打开一个新窗口,你可以在其中管理此 Agent 的连接。

  23. 选择 JokesMCP 旁边的 Connect

    连接到 JokesMCP

  24. 等待连接创建完成,然后选择 Submit

    选择连接

  25. 现在应该已连接,此时状态应显示为 Connected

    已连接状态

  26. 关闭浏览器中的“管理连接”选项卡

    现在你应该会返回 Jokester Agent 页面。

  27. 在 Test your agent 窗格中选择 refresh icon

    刷新测试窗格

  28. 在 Test your agent 窗格中发送以下消息:

    Can I get a Chuck Norris joke?
    

    现在会显示一则 Chuck Norris 笑话,而不是提示需要额外权限。

    Chuck Norris 笑话

  29. 在 Test your agent 窗格中发送以下消息:

    Can I get a Dad joke?
    

    现在会显示一则 Dad 笑话。

    Dad 笑话

  30. 在 Test your agent 窗格中发送以下消息:

    Can I get a Yo Mama joke?
    

    现在会显示一则 Yo Mama 笑话。

    Yo Mama 笑话

至此,你已经在 Microsoft Copilot Studio 中运行了 Jokes MCP Server。本实验也到此结束!希望你喜欢本实验。请抽空填写我们的反馈表。

Jokes MCP Server 详情

这是一个基于 TypeScript SDK 构建的 MCP 服务。

使用此 MCP Server,你可以从以下网站获取笑话:

如果要在本地运行服务,请确保在代码库根目录中运行 npm install。

然后,你可以运行 npm run build 来构建服务,并运行 npm start 来启动服务。

工具

其中包含以下工具:

get-chuck-joke

此工具从 chucknorris.io 获取一则随机 Chuck Norris 笑话。

get-chuck-categories

此工具从 chucknorris.io 获取可用类别。

get-dad-joke

此工具从 icanhazdadjoke.com 获取一则随机 Dad 笑话。

get-yo-mama-joke

此工具从 yomama-jokes.com 获取一则随机 Yo Mama 笑话。

已知问题和计划改进

Microsoft Copilot Studio 中的 MCP 存在一些已知问题和计划改进,详见这篇 Microsoft Learn 文章。

贡献

本项目欢迎贡献和建议。大多数贡献都要求您同意贡献者许可协议(CLA),声明您有权授予我们使用您贡献内容的权利,并且确实授予了该权利。详情请访问 https://cla.opensource.microsoft.com。

提交拉取请求时,CLA 机器人会自动判断您是否需要提供 CLA,并相应地标记 PR(例如,添加状态检查或评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们 CLA 的代码仓库中完成一次此操作。

本项目采用了Microsoft 开源行为准则。 如需了解更多信息,请参阅行为准则常见问题,或通过 [email protected] 联系我们,提出其他问题或意见。

商标

本项目可能包含项目、产品或服务的商标或徽标。经授权使用 Microsoft 商标或徽标时,必须遵守 Microsoft 商标与品牌指南。 在本项目的修改版本中使用 Microsoft 商标或徽标,不得造成混淆或暗示 Microsoft 提供了赞助。 任何第三方商标或徽标的使用均须遵守相应第三方的政策。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。