dibbkd
服务介绍
Microsoft Copilot Studio ❤️ MCP
欢迎来到 Microsoft Copilot Studio ❤️ MCP 实验室。在这个实验室中,你将学习如何部署一个MCP服务器,以及如何将其添加到Microsoft Copilot Studio。
什么是MCP?
模型上下文协议 (MCP) 是由 Anthropic 定义的一种开放协议,它标准化了应用程序向大语言模型(LLMs)提供上下文的方式。MCP 提供了一种标准化的方法来连接AI模型与不同的数据源和工具。MCP 允许开发者无缝地将现有的知识服务器和API直接集成到Copilot Studio中。
目前,Copilot Studio仅支持工具。要了解更多当前功能,请参阅 aka.ms/mcsmcp。存在一些已知问题及计划中的改进。这些内容列在 这里。
MCP 与连接器
何时使用MCP?何时使用连接器?MCP会取代连接器吗?
MCP服务器是通过连接器基础设施提供给Copilot Studio的,因此这些问题并不真正适用。由于MCP服务器使用了连接器基础设施,这意味着它们可以采用企业级的安全性和治理控制,如虚拟网络集成、数据丢失防护控制、多种认证方法——所有这些都在本次发布中可用——同时支持为AI驱动的代理提供实时数据访问。
因此,MCP和连接器实际上是相辅相成的。
前提条件
- Azure订阅(已添加支付方式)
- 拥有一个GitHub账户并登录
- Copilot Studio试用或开发者账号
- 已配置Power Platform环境
实验
为了能够部署这个MCP服务器并在Microsoft Copilot Studio中使用它,你需要完成以下步骤:
基于模板创建一个新的GitHub仓库
-
选择
Use this template -
选择
Create a new repository
-
选择正确的
Owner -
给它一个
Repository name -
可选地,你可以给它一个
Description -
选择
Private -
选择
Create repository这可能需要一点时间。完成后,你将被重定向到新创建的仓库。
[!WARNING]
在完成本实验的所有步骤后,你将在Azure上运行一个公开可访问的MCP服务器。理想情况下,你不希望这样。请确保在完成实验后删除Azure Web应用。
部署Azure Web应用
-
转到
portal.azure.com
-
将鼠标悬停在
Resource groups标签上并选择Create
-
点击
Subscription下拉菜单并从列表中选择你的订阅
-
点击
Resource group名称文本框并输入一个资源组名称,例如 "jokesgrp"
-
选择
Region下拉菜单并选择离你最近的区域
-
点击
Review + create
-
点击
Create
-
选择
Go to resource group
-
选择
Create
-
点击进入
搜索框
-
输入
web app -
在Web App搜索结果中选择
创建按钮
-
选择
Web App
-
选择
名称文本输入框并为Web App输入一个名称,例如"wegotjokes"
-
选择
运行时堆栈下拉菜单并选择Node 22 LTS
-
选择
区域下拉菜单并选择离您最近的区域
-
点击
查看 + 创建
-
点击
创建
-
点击
刷新以更新您的部署进度
-
部署完成后,选择
转到资源
-
展开
部署选项卡
-
点击
部署中心
-
点击
源下拉菜单并选择GitHub
-
选择
授权
-
选择
继续
-
选择
授权AzureAppService
-
点击
组织下拉菜单并选择您的组织
-
点击
仓库下拉菜单并从列表中选择您之前创建的GitHub仓库
-
点击
分支下拉菜单并选择您的分支
-
保持其他设置默认并选择
保存
-
点击
刷新以更新部署状态
-
验证部署是否完成

创建Power Platform连接器
-
在左侧菜单中选择
更多 -
选择
发现全部按钮 -
在数据下,选择
自定义连接器旁边的图钉图标将其固定到左侧菜单 -
在左侧菜单中选择
自定义连接器 -
选择
新建自定义连接器 -
选择
从空白创建
-
给连接器命名(例如
JokesMCP) -
选择蓝色的
继续按钮 -
选择
Swagger编辑器切换开关
-
从这里复制yaml代码并替换Swagger编辑器中的代码
-
在Swagger编辑器中,将
dummyurl.azurewebsites.net替换为您之前部署的Web App的URL。确保移除https://和azurewebsites.net之后的所有内容 -
选择
创建连接器以创建连接器
将MCP服务器作为操作添加到Microsoft Copilot Studio
现在您已经在Azure中运行了一个MCP服务器,并且在Power Platform中有了一个可用的连接器。这一步是关于在Microsoft Copilot Studio中创建一个代理并将MCP服务器添加到该代理。
-
选择右上角的环境选择器
-
选择正确的环境
-
在左侧导航中选择
创建 -
选择蓝色的
新代理按钮
-
选择右上角的
跳过配置
-
将名称更改为
Jokester -
添加以下
描述text
一个专注于幽默的代理,仅在用户请求时提供简洁、吸引人的笑话,并根据用户的语气和偏好调整其风格。它保持角色一致,避免重复,并过滤掉冒犯性内容,以确保始终适当且机智的体验。1. 添加以下Instructionstext
你是一个讲笑话的助手。你的唯一目的是在用户请求时提供恰当、机智且吸引人的笑话。请遵循以下规则:- 只有当用户要求讲笑话或相关内容(例如,“给我讲个有趣的事”)时才回应。
- 根据用户的输入匹配其语气和幽默偏好——如干净的、黑色幽默、冷笑话、双关语、爸爸笑话等。
- 不要脱离角色或提供与幽默无关的信息。
- 保持笑话简洁且格式清晰。
- 避免冒犯性、歧视性或不适合工作的内容。
- 当不确定幽默偏好时,默认使用聪明且普遍适合的笑话。
- 在同一会话中不要重复讲同一个笑话。
- 除非被明确要求,否则不要解释笑话。
- 回应迅速、机智。
-
点击右上角的
创建
-
启用生成式AI
编排
-
在
知识部分禁用通用知识
-
选择顶部菜单中的
操作
-
选择
添加一个操作
-
搜索您之前创建的连接器名称(本例中为
jokes)(参见此处) (见下图中的编号1) -
选择
Jokes MCP服务器(见下图中的编号2)
-
等待连接创建完成,并在完成后选择
下一步
-
将
描述以让代理知道何时使用此操作更改为以下文本:text
当用户请求一个笑话时触发此操作。它可以提供查克·诺里斯笑话、爸爸笑话和你妈妈笑话。其余设置保留默认值,例如最终用户身份验证,稍后将对此进行更多了解。
-
选择
添加操作以将该操作添加到代理中
-
在
测试您的代理面板中选择刷新图标
-
在
测试您的代理面板中发送以下消息:text
能给我讲个查克·诺里斯笑话吗?这将显示一条消息,指出运行此操作需要额外权限。这是因为动作向导中的用户身份验证。
-
选择
连接
这将打开一个新窗口,在其中您可以管理此代理的连接。
-
选择
JokesMCP旁边的连接
-
等待连接创建完成,并选择
提交
-
连接现在应该已建立,因此状态应设置为
已连接
-
关闭浏览器中的管理连接标签页
现在你应该回到了Jokester代理屏幕。
-
在
测试您的代理面板中选择刷新图标
-
在
测试您的代理面板中发送以下消息:text
能给我讲个查克·诺里斯笑话吗?这次将显示一个查克·诺里斯笑话 - 而不是额外权限提示。

-
在
测试您的代理面板中发送以下消息:text
能给我讲个爸爸笑话吗?这次将显示一个爸爸笑话。

-
在
测试您的代理面板中发送以下消息:text
能给我讲个你妈妈笑话吗?这次将显示一个你妈妈笑话。

这就是在 Microsoft Copilot Studio 中运行的 Jokes MCP 服务器。这也是本实验的结束!希望你喜欢这个实验。请花时间填写我们的反馈表单。
Jokes MCP 服务器详情
这是一个基于 TypeScript SDK 构建的 MCP 服务器。
通过这个 MCP 服务器,你可以从以下网站获取笑话:
如果你想在本地运行该服务器,请确保在仓库根目录下运行 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 开源行为准则。有关更多信息,请参阅 行为准则常见问题解答 或联系 opencode@microsoft.com 以获取任何其他问题或评论。
商标
本项目可能包含项目、产品或服务的商标或徽标。授权使用 Microsoft 商标或徽标必须遵循并遵守 Microsoft 商标和品牌指南。在修改版本的项目中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均受其第三方政策的约束。