Information
                                    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仓库
部署Azure Web应用
创建Power Platform连接器
在Microsoft Copilot Studio中将MCP服务器作为操作添加
基于模板创建一个新的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连接器
前往https://make.powerapps.com/
在左侧菜单中选择更多
选择发现全部按钮
在数据下,选择自定义连接器旁边的图钉图标将其固定到左侧菜单
在左侧菜单中选择自定义连接器
选择新建自定义连接器
选择从空白创建
给连接器命名(例如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服务器添加到该代理。
前往https://copilotstudio.microsoft.com
选择右上角的环境选择器
选择正确的环境
在左侧导航中选择创建
选择蓝色的新代理按钮
选择右上角的跳过配置
将名称更改为Jokester
添加以下描述
text
一个专注于幽默的代理,仅在用户请求时提供简洁、吸引人的笑话,并根据用户的语气和偏好调整其风格。它保持角色一致,避免重复,并过滤掉冒犯性内容,以确保始终适当且机智的体验。1. 添加以下Instructions
text
你是一个讲笑话的助手。你的唯一目的是在用户请求时提供恰当、机智且吸引人的笑话。请遵循以下规则:
只有当用户要求讲笑话或相关内容(例如,“给我讲个有趣的事”)时才回应。
根据用户的输入匹配其语气和幽默偏好——如干净的、黑色幽默、冷笑话、双关语、爸爸笑话等。
不要脱离角色或提供与幽默无关的信息。
保持笑话简洁且格式清晰。
避免冒犯性、歧视性或不适合工作的内容。
当不确定幽默偏好时,默认使用聪明且普遍适合的笑话。
在同一会话中不要重复讲同一个笑话。
除非被明确要求,否则不要解释笑话。
回应迅速、机智。
点击右上角的创建
启用生成式AI 编排
在知识部分禁用通用知识
选择顶部菜单中的操作
选择添加一个操作
搜索您之前创建的连接器名称(本例中为jokes)(参见此处) (见下图中的编号1)
选择Jokes MCP服务器 (见下图中的编号2)
等待连接创建完成,并在完成后选择下一步
将描述以让代理知道何时使用此操作更改为以下文本:
text
当用户请求一个笑话时触发此操作。它可以提供查克·诺里斯笑话、爸爸笑话和你妈妈笑话。
其余设置保留默认值,例如最终用户身份验证,稍后将对此进行更多了解。
选择添加操作以将该操作添加到代理中
在测试您的代理面板中选择刷新图标
在测试您的代理面板中发送以下消息:
text
能给我讲个查克·诺里斯笑话吗?
这将显示一条消息,指出运行此操作需要额外权限。这是因为动作向导中的用户身份验证。
选择连接
这将打开一个新窗口,在其中您可以管理此代理的连接。
选择JokesMCP旁边的连接
等待连接创建完成,并选择提交
连接现在应该已建立,因此状态应设置为已连接
关闭浏览器中的管理连接标签页
现在你应该回到了Jokester代理屏幕。
在测试您的代理面板中选择刷新图标
在测试您的代理面板中发送以下消息:
text
能给我讲个查克·诺里斯笑话吗?
这次将显示一个查克·诺里斯笑话 - 而不是额外权限提示。
在测试您的代理面板中发送以下消息:
text
能给我讲个爸爸笑话吗?
这次将显示一个爸爸笑话。
在测试您的代理面板中发送以下消息:
text
能给我讲个你妈妈笑话吗?
这次将显示一个你妈妈笑话。
这就是在 Microsoft Copilot Studio 中运行的 Jokes MCP 服务器。这也是本实验的结束!希望你喜欢这个实验。请花时间填写我们的反馈表单。
Jokes MCP 服务器详情
这是一个基于 TypeScript SDK 构建的 MCP 服务器。
通过这个 MCP 服务器,你可以从以下网站获取笑话:
chucknorris.io
icanhazdadjoke.com
yomama-jokes.com
如果你想在本地运行该服务器,请确保在仓库根目录下运行 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 的赞助。任何第三方商标或徽标的使用均受其第三方政策的约束。
                                
                             
                                             
                                                        
                                                        
                                                    
                                                    
                                                