MCPMS笑话
一种模型上下文协议服务器,它使Microsoft Copilot Studio能够从各种来源获取笑话,包括Chuck Norris笑话、爸爸笑话和Yo Mama笑话。
服务介绍
Microsoft Copilot Studio ❤️ MCP
欢迎来到 Microsoft Copilot Studio ❤️ MCP 实验室。在这个实验室中,您将学习如何部署一个 MCP 服务器,以及如何将其添加到 Microsoft Copilot Studio 中。
什么是 MCP?
Model Context Protocol (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连接器
-
在左侧菜单中选择
更多 -
选择
发现全部按钮 -
在数据下,选择
自定义连接器旁边的图钉图标将其固定到左侧菜单 -
在左侧菜单中选择
自定义连接器 -
选择
新建自定义连接器 -
选择
从空白创建
-
给连接器命名(例如
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 的赞助。任何第三方商标或徽标的使用均受该第三方政策的约束。