Enables interacting with the Jokes MCP Server in GitHub Copilot's agent mode to request and receive jokes from various categories, such as Chuck Norris jokes and Dad jokes.
Microsoft Copilot Studio ❤️ MCP
欢迎来到Microsoft Copilot Studio ❤️ MCP实验室。在本实验室中,您将学习如何部署 MCP 服务器,以及如何将其添加到 Microsoft Copilot Studio。
❓ 什么是 MCP?
模型上下文协议 (MCP)是一种开放协议,它标准化了应用程序如何向 LLM 提供上下文,由Anthropic定义。MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方法。MCP 允许创客将现有的知识服务器和 API 无缝集成到 Copilot Studio 中。
目前,Copilot Studio 仅支持工具。要了解更多关于当前功能的信息,请访问aka.ms/mcsmcp 。目前存在一些已知问题和计划改进。具体内容列于此处。
🆚 MCP 与连接器
什么时候使用 MCP?什么时候使用连接器?MCP 会取代连接器吗?
MCP 服务器通过连接器基础架构提供给 Copilot Studio 使用,因此这些问题实际上并不适用。MCP 服务器使用连接器基础架构,这意味着它们可以采用企业安全和治理控制措施,例如虚拟网络集成、数据丢失防护控制、多种身份验证方法(所有这些功能在此版本中均已提供),同时支持 AI 驱动的座席实时数据访问。
因此,MCP 和连接器结合在一起确实效果更好。
⚙️ 先决条件
- Visual Studio Code(链接)
- Node v22(最好通过nvm for Windows或nvm安装)
- Git 安装(链接)
- Azure 开发人员 CLI(链接)
- Azure 订阅(已添加付款方式)
- GitHub 帐户
- Copilot Studio 试用版或开发者帐户
- Power Platform 环境已配置 - 启用以下开关:
➕ 根据模板创建一个新的 GitHub 存储库
- 选择
Use this template
- 选择“创建新存储库”
- 选择正确的
Owner
(当您只有一个所有者可供选择时,它可能已经被选中) - 给它一个
Repository name
- 您可以选择为其添加
Description
- 选择
Private
- 选择
Create repository
这需要一点时间。完成后,您将被引导至新创建的存储库。
⚖️ 选择:本地运行服务器或部署到 Azure
现在您可以选择!您可以在本地运行服务器,也可以将其部署到 Azure。
您需要针对这两项操作执行以下几个步骤:
- 通过运行以下命令克隆此存储库(将
{account}
替换为您自己的 GitHub 帐户名):git clone https://github.com/{account}/mcsmcp.git
- 打开 Visual Studio Code 并打开克隆的文件夹
- 打开终端并导航到克隆的文件夹
🏃♀️ 本地运行 MCP 服务器
- 运行
npm install
- 运行
npm run build && npm run start
- 在 Visual Studio Code 终端顶部选择
PORTS
- 选择绿色的
Forward a Port
按钮 - 输入
3000
作为端口号(这应该与您在步骤 5 中运行命令时看到的端口号相同)。系统可能会提示您登录 GitHub,如果出现提示,请执行此操作,因为这是使用端口转发功能所必需的。 - 右键单击刚刚添加的行,然后选择
Port visibility
>Public
,以使服务器公开可用 - 按住 Ctrl 键并单击
Forwarded address
,该地址应类似于:https://something-3000.something.devtunnels.ms
- 在以下弹出窗口中选择
Copy
以复制 URL - 打开您选择的浏览器并将 URL 粘贴到地址栏中,在其后面输入
/mcp
并按 Enter
如果一切顺利,您将看到以下错误消息:
别担心——这个错误信息没什么可担心的!
🌎 部署到 Azure
[!IMPORTANT] 如先决条件中所述,此部分需要在您的计算机上安装Azure Developer CLI 。
如果您尚未登录,请确保登录 Azure 开发人员 CLI。
[!警告]
运行azd up
后,您将在 Azure 上运行一个公开可用的 MCP 服务器。理想情况下,您不希望出现这种情况。完成本实验后,请务必运行azd down
以从您的 Azure 订阅中删除所有资源。请前往本节了解如何运行azd down
。
在终端中运行以下命令:
对于唯一环境名称,请输入mcsmcplab
或类似名称。选择要使用的 Azure 订阅,并选择位置值。之后,服务器部署需要几分钟时间。完成后,您应该能够访问末尾列出的 URL,并在该 URL 末尾添加/mcp
。
您应该再次看到以下错误:
👨💻 在 Visual Studio Code / GitHub Copilot 中使用 Jokes MCP 服务器
要使用 Jokes MCP 服务器,您需要使用服务器的 URL(可以是您的 devtunnel URL 或您部署的 Azure 容器应用程序)并在末尾添加/mcp
部分,然后在 Visual Studio Code 中将其添加为 MCP 服务器。
- 按
ctrl
+shift
+P
(Windows/Linux) 或cmd
+shift
+P
(Mac) 并输入MCP
- 选择
MCP: Add Server...
- 选择
HTTP (HTTP or Server-Sent Events)
- 将服务器的 URL 粘贴到输入框中(确保最后包含
/mcp
) - 按
Enter
- 输入服务器的名称,例如
JokesMCP
- 选择
User Settings
将 MCP 服务器设置保存到您的用户设置中这会将 MCP 服务器添加到你的settings.json
文件中。它应该如下所示: - 打开
GitHub Copilot
- 从
Ask
”切换到Agent
- 确保在选择工具图标时选择了
JokesMCP
服务器操作:
- 提出以下问题:
这应该会给你这样的回应:
现在您已将JokesMCP
服务器添加到 Visual Studio Code!
👨💻 在 Microsoft Copilot Studio 中使用 Jokes MCP 服务器
导入连接器
- 转到https://make.preview.powerapps.com/customconnectors (确保您处于正确的环境中)并单击**+ 新建自定义连接器**。
- 选择
Import from GitHub
- 选择
Custom
作为连接器类型 - 选择
dev
作为分支 - 选择
MCP-Streamable-HTTP
作为连接器 - 选择
Continue
- 将连接器名称更改为合适的名称,例如
Jokes MCP
- 将描述更改为适当的内容
- 将您的根 URL(例如
something-3000.something.devtunnels.ms
或something.azurecontainerapps.io
)粘贴到Host字段中 - 选择**“创建连接器”**
[!警告]
您可能会在创建时看到警告和错误 - 它应该很快就会得到解决 - 但您现在可以忽略它。
- 关闭连接器
创建代理并添加 MCP 服务器作为工具
- 转到https://copilotstudio.preview.microsoft.com/
- 选择右上角的环境选择器
- 选择正确的环境(
Get new features early
开关的环境) - 在左侧导航中选择
Create
- 选择蓝色的
New agent
按钮 - 选择左侧的
Configure
卡 - 将名称更改为
Jokester
- 添加以下
Description
- 添加以下
Instructions
- 选择右上角的
Continue
- 启用生成式 AI
Orchestration
- 在
Knowledge
部分中禁用常识
- 在顶部菜单中选择
Tools
- 选择
Add a tool
- 选择
Model Context Protocol
选项卡来过滤所有模型上下文协议服务器(参见下面屏幕截图中的数字 1) - 选择
Jokes MCP
服务器(参见下面屏幕截图中的数字 2)
- 通过选择
Not connected
和**“创建新连接”来创建新**连接
- 选择
Create
- 选择
Add to agent
以将工具添加到代理
- 在
Test your agent
窗格中选择refresh icon
- 在
Test your agent
窗格中发送以下消息:
系统会显示一条消息,提示您运行此操作需要额外权限。这是因为操作向导中存在用户身份验证。
- 选择
Connect
这将打开一个新窗口,您可以在其中管理此代理的连接。
- 选择
JokesMCP
旁边的Connect
- 等待连接创建并选择
Submit
- 现在应该已连接,因此状态应设置为
Connected
- 关闭浏览器中的“管理连接”选项卡
现在您应该回到 Jokester 代理屏幕。
- 在
Test your agent
窗格中选择refresh icon
- 在
Test your agent
窗格中发送以下消息:
现在将显示查克·诺里斯的笑话,而不是额外的权限。如果不是这样,您可能错过了环境需要启用get new features early
的先决条件。
- 在
Test your agent
窗格中发送以下消息:
现在将显示一个老爸笑话。
这就是在 Microsoft Copilot Studio 中运行的 Jokes MCP Server。
❌ 删除 Azure 资源
要在完成实验后删除 Azure 资源,请在终端中运行以下命令:
此命令将显示要删除的资源,然后要求您确认。按y
确认后,资源将被删除。这可能需要几分钟,但最后您将看到确认消息:
💡 已知问题和计划的改进
Microsoft Copilot Studio 中的 MCP 存在一些已知问题和计划改进。这些改进已在Microsoft Learn 文章中列出。
🗣️ 反馈
希望您喜欢这个实验室。请花时间填写我们的反馈表,告诉我们如何改进!
🚀 贡献
该项目欢迎您的贡献和建议。大多数贡献都要求您同意一份贡献者许可协议 (CLA),该协议声明您有权并确实授予我们使用您贡献的权利。详情请访问https://cla.opensource.microsoft.com 。
当您提交拉取请求时,CLA 机器人会自动判断您是否需要提供 CLA,并适当地修饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们 CLA 的仓库中执行一次此操作。
本项目已采用Microsoft 开源行为准则。更多信息请参阅行为准则常见问题解答,或联系opencode@microsoft.com提出其他问题或意见。
™️商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft 商标或徽标的授权使用须遵守Microsoft 的商标和品牌指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均须遵守该第三方的政策。
This server cannot be installed
提供笑话传递功能的模型上下文协议服务器,允许用户通过 Microsoft Copilot Studio 或 Visual Studio Code 请求各种类型的笑话(查克·诺里斯、老爸笑话等)。
Related MCP Servers
- -securityAlicense-qualityAn MCP server that enables Microsoft Copilot Studio to fetch jokes from multiple sources including Chuck Norris jokes, Dad jokes, and Yo Mama jokes.Last updated -TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that fetches jokes from multiple sources (Chuck Norris, Dad jokes, and Yo Mama jokes) and integrates with Microsoft Copilot Studio to create a humor-focused conversational experience.Last updated -TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that enables Microsoft Copilot Studio to fetch and deliver various types of jokes (Chuck Norris, Dad jokes, and Yo Mama jokes) from multiple online joke APIs.Last updated -TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Microsoft Copilot Studio to fetch jokes from various sources including Chuck Norris jokes, Dad jokes, and Yo Mama jokes.Last updated -TypeScriptMIT License