M

MCPMS笑话

@VoltScp/MCPMS
0 Stars 620 次浏览 VoltScp 更新于 2026-08-23

一种模型上下文协议服务器,它使Microsoft Copilot Studio能够从各种来源获取笑话,包括Chuck Norris笑话、爸爸笑话和Yo Mama笑话。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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 仓库

  1. 选择 Use this template

  2. 选择 Create a new repository

  3. 选择正确的 Owner

  4. 给它一个 Repository name

  5. 可选地,您可以为其提供一个 Description

  6. 选择 Private

  7. 选择 Create repository

    这可能需要一点时间。完成后,您将被重定向到新创建的仓库。

[!WARNING]
在完成本实验的所有步骤后,您将在 Azure 上运行一个公开可用的 MCP 服务器。理想情况下,您不希望这样。请确保在完成实验后删除 Azure Web 应用。

部署 Azure Web 应用

  1. 前往 portal.azure.com

    Azure Portal

  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. 点击进入搜索框

    搜索

  11. 输入web app

  12. 在Web App搜索结果中选择创建按钮

    搜索结果

  13. 选择Web App

    创建Web App

  14. 选择名称文本输入框并为Web App输入一个名称,例如"wegotjokes"

    Web App名称

  15. 选择运行时堆栈下拉菜单并选择Node 22 LTS

    Web App运行时

  16. 选择区域下拉菜单并选择离您最近的区域

    区域

  17. 点击检查+创建

    检查

  18. 点击创建

    创建

  19. 点击刷新以更新您的部署进度

    刷新

  20. 部署完成后,选择转到资源

    转到资源

  21. 展开部署选项卡

    部署选项卡

  22. 点击部署中心

    部署中心

  23. 点击下拉菜单并选择GitHub

    选择源

  24. 选择授权

    授权

  25. 选择继续

    继续

  26. 选择授权AzureAppService

    授权

  27. 点击组织下拉菜单并选择您的组织

    组织选择

  28. 点击仓库下拉菜单并从列表中选择您之前创建的GitHub仓库

    仓库选择

  29. 点击分支下拉菜单并选择您的分支

    选择分支

  30. 保持其他设置默认值并选择保存

    保存

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

    刷新

  32. 验证部署是否完成

    部署完成

创建Power Platform连接器

  1. 前往https://make.powerapps.com/

  2. 在左侧菜单中选择更多

  3. 选择发现全部按钮

  4. 在数据下,选择自定义连接器旁边的图钉图标将其固定到左侧菜单

  5. 在左侧菜单中选择自定义连接器

  6. 选择新建自定义连接器

  7. 选择从空白创建

  8. 给连接器命名(例如JokesMCP

  9. 选择蓝色的继续按钮

  10. 选择Swagger编辑器切换开关

  11. 这里复制yaml代码并替换Swagger编辑器中的代码

  12. 在Swagger编辑器中,将dummyurl.azurewebsites.net替换为您之前部署的Web App的URL。确保移除https://azurewebsites.net之后的所有内容

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

将MCP服务器作为操作添加到Microsoft Copilot Studio

现在您已经在Azure中运行了一个MCP服务器,并且在Power Platform中有了一个可用的连接器。这一步是关于在Microsoft Copilot Studio中创建一个代理并将MCP服务器添加到该代理。

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

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

  3. 选择正确的环境

  4. 选择左侧导航中的创建

  5. 选择蓝色的新代理按钮

    新代理

  6. 选择右上角的跳过配置

    跳过配置

  7. 将名称更改为Jokester

  8. 添加以下描述

    text
    一个专注于幽默的代理,仅在用户请求时提供简洁、引人入胜的笑话,根据用户的语气和偏好调整其风格。它保持角色一致性,避免重复,并过滤掉冒犯性内容,以确保始终适当且机智的体验。1. 添加以下Instructions

    text
    你是一个讲笑话的助手。你的唯一目的是在请求时提供恰当、聪明且吸引人的笑话。遵循以下规则:

    • 仅当用户要求讲笑话或相关内容(例如,“给我讲个有趣的事”)时才回应。
    • 根据用户的输入匹配他们的语气和幽默偏好——干净的、黑暗的、干巴巴的、双关语、爸爸笑话等。
    • 不要打破角色或提供与幽默无关的信息。
    • 保持笑话简洁明了。
    • 避免冒犯性、歧视性或不适合工作的内容。
    • 当不确定幽默偏好时,默认使用聪明且普遍合适的笑话。
    • 在同一会话中不要重复笑话。
    • 除非被明确要求,否则不要解释笑话。
    • 响应迅速、机智。
  9. 点击右上角的创建

    创建代理

  10. 启用生成式AI 编排

    开启编排

  11. 知识部分禁用通用知识

    关闭通用知识

  12. 选择顶部菜单中的操作

    操作

  13. 选择添加一个操作

    添加一个操作

  14. 搜索您之前创建的连接器名称(本例中为jokes)(见下图中的编号1)

  15. 选择Jokes MCP服务器(见下图中的编号2)

    搜索并选择操作

  16. 等待连接创建完成,完成后选择下一步

    操作和连接

  17. 描述以让代理知道何时使用此操作更改为以下文本:

    text
    当用户要求讲笑话时触发此操作。它可以提供查克·诺里斯笑话、爸爸笑话和你妈妈笑话。

    其余部分保持默认设置,比如最终用户认证,稍后你会了解更多。

  18. 选择添加操作将该操作添加到代理

    添加操作

  19. 测试您的代理面板中选择刷新图标

    刷新测试面板

  20. 测试您的代理面板中发送以下消息:

    text
    可以给我讲一个查克·诺里斯笑话吗?

    这将显示一条消息,说明运行此操作需要额外权限。这是因为动作向导中的用户认证。

  21. 选择连接

    额外权限

    这将打开一个新窗口,您可以在其中管理此代理的连接。

  22. 选择JokesMCP旁边的连接

    连接到JokesMCP

  23. 等待连接创建完成,然后选择提交

    选择连接

  24. 连接现在应该已连接,因此状态应设置为已连接

    状态已连接

  25. 关闭浏览器中的管理连接标签页

    现在你应该回到了Jokester代理屏幕。

  26. 测试您的代理面板中选择刷新图标

    刷新测试面板

  27. 测试您的代理面板中发送以下消息:

    text
    可以给我讲一个查克·诺里斯笑话吗?

    这次将显示一个查克·诺里斯笑话 - 而不是额外权限提示。

  28. 测试您的代理面板中发送以下消息:

    text
    可以给我讲一个爸爸笑话吗?

    这次将显示一个爸爸笑话。

    爸爸笑话

  29. 测试您的代理面板中发送以下消息:

    text
    可以给我讲一个你妈妈笑话吗?

    这次将显示一个你妈妈笑话。Yo Mama joke

这就是在 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 的赞助。任何第三方商标或徽标的使用均受该第三方政策的约束。

相关 MCP 服务