返回市场
麦克姆服务器

麦克姆服务器

作者:microsoft305 星标更新:2025-07-25

项目介绍

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 和连接器实际上是更好的组合

⚙️ 先决条件

  • 已安装 Visual Studio Code (链接)
  • Node v22(理想情况下通过 nvm for Windowsnvm 安装)
  • 已安装 Git (链接)
  • 已安装 Docker (链接)
  • 已安装 Azure 开发者 CLI (链接)
  • Azure 订阅(已添加支付方式)
  • GitHub 账户
  • Copilot Studio 试用或开发者账户

➕ 根据模板创建新的 GitHub 仓库

  1. 选择 Use this template

  2. 选择 Create a new repository

  3. 选择正确的 Owner(如果您只有一个所有者可选,则可能已经选择了)

  4. 给它一个 Repository name

  5. 可选地,给它一个 Description

  6. 选择 Private

  7. 选择 Create repository

    这需要一点时间。完成后,您将被引导至新创建的仓库。

⚖️ 选择:本地运行服务器还是部署到 Azure

现在您有了选择!您可以选择本地运行服务器,或者将其部署到 Azure。

对于这两种情况,您都需要执行以下步骤:

  1. 使用以下命令克隆此仓库(将 {account} 替换为您自己的 GitHub 账户名称):

    git clone https://github.com/{account}/mcsmcp.git

  2. 打开 Visual Studio Code 并打开克隆的文件夹

  3. 打开终端并导航到克隆的文件夹

🏃‍♀️ 在本地运行 MCP 服务器

  1. 运行 npm install

  2. 运行 npm run build && npm run start

    构建和启动服务器后的终端视图

  3. 在 Visual Studio Code 终端顶部选择 PORTS

    VS Code 终端打开且 PORTS 标签高亮显示

  4. 选择绿色的 Forward a Port 按钮

    VS Code 终端打开且绿色的 Forward a Port 按钮高亮显示

  5. 输入 3000 作为端口号(这应该与您在第 5 步运行命令时看到的端口号相同)。您可能会被提示登录 GitHub,如果是这样,请进行登录,因为这是使用端口转发功能所必需的。

  6. 右键点击刚刚添加的那一行,选择 Port visibility > Public 以使服务器公开可用

  7. Ctrl + 点击 Forwarded address,它应该是类似这样的地址:https://something-3000.something.devtunnels.ms

  8. 在弹出窗口中选择 Copy 来复制 URL

    PORTS 设置视图,突出显示端口、转发地址和可见性

  9. 打开您选择的浏览器,在地址栏粘贴 URL,并在其后输入 /mcp,然后按回车

如果一切顺利,您将看到以下错误消息:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}

不要担心——这个错误消息无需担心!

🌎 部署到 Azure

[!重要] 如先决条件部分所述,您的机器上需要安装 Azure 开发者 CLI

确保您已经登录到 Azure 开发者 CLI。

azd auth login

[!警告] 运行 azd up 后,您将在 Azure 上有一个公开可用的 MCP 服务器。理想情况下,您不希望这样。请确保在完成实验后运行 azd down 以从您的 Azure 订阅中删除所有资源。了解如何运行 azd down,请参阅 [本节](#移除 Azure 资源)。

在终端中运行以下命令:

azd up

对于唯一的环境名称,输入 mcsmcplab 或类似的名称。选择要使用的 Azure 订阅并选择位置值。之后,服务器将花费几分钟时间进行部署。完成后,您应该能够前往列出的 URL 并在该 URL 结尾处添加 /mcp

Azd 部署服务器输出

您应该再次看到以下错误:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":
null}

👨‍💻 在 Visual Studio Code / GitHub Copilot 中使用 Jokes MCP 服务器

要使用 Jokes MCP 服务器,您需要使用服务器的 URL(可以是您的 devtunnel URL 或已部署的 Azure 容器应用),并在末尾加上 /mcp,然后在 Visual Studio Code 中将其添加为 MCP 服务器。

  1. 按下 ctrl + shift + P(Windows/Linux)或 cmd + shift + P(Mac),然后输入 MCP

  2. 选择 MCP: 添加服务器...

  3. 选择 HTTP (HTTP 或 Server-Sent Events)

  4. 将服务器的 URL 粘贴到输入框中(确保末尾包含 /mcp

  5. Enter

  6. 输入服务器名称,例如 JokesMCP

  7. 选择 用户设置 以将 MCP 服务器设置保存到您的用户设置中

    这将在您的 settings.json 文件中添加一个 MCP 服务器。它看起来应该像这样: settings.json 文件

  8. 打开 GitHub Copilot

  9. Ask 切换到 Agent

  10. 当您选择工具图标时,确保选择了 JokesMCP 服务器动作:

    GitHub Copilot 工具菜单

  11. 提问以下问题:

    获取来自 Dev 类别的 Chuck Norris 笑话
    

这应该给您如下响应:

提供来自 dev 类别的笑话的问题截图以及 GitHub Copilot 的答案

现在您已经在 Visual Studio Code 中添加了 JokesMCP 服务器!

👨‍💻 在 Microsoft Copilot Studio 中使用 Jokes MCP 服务器

导入连接器

  1. 前往 https://make.preview.powerapps.com/customconnectors(确保您处于正确的环境中),然后点击 + 新建自定义连接器

  2. 选择 从 GitHub 导入

  3. 选择 Custom 作为 连接器类型

  4. 选择 dev 作为 分支

  5. 选择 MCP-Streamable-HTTP 作为 连接器

  6. 选择 继续

    从 GitHub 导入部分的视图

  7. 更改 连接器名称 为适当的内容,例如 Jokes MCP

  8. 更改 描述 为适当的内容

  9. 将您的根 URL(例如 something-3000.something.devtunnels.mssomething.azurecontainerapps.io)粘贴到 主机 字段中

  10. 选择 创建连接器

[!警告] 创建时您可能会看到警告和错误——这应该很快得到解决——但您可以暂时忽略它。

  1. 关闭连接器

创建代理并将 MCP 服务器作为工具添加

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

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

  3. 选择正确的环境(带有 Get new features early 开关开启的环境)

  4. 在左侧导航中选择 Create

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

    新建代理

  6. 在左侧选择 配置 标签

    配置

  7. 将名称更改为 Jokester

  8. 添加以下 描述

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

    您是一个讲笑话的助手。您的唯一目的是在请求时提供适当的、聪明的和引人入胜的笑话。遵循以下规则:
    
    * 仅当用户要求讲笑话或相关事项时才回应(例如,“告诉我一些有趣的事情”)。
    * 根据用户的输入匹配他们的语气和幽默偏好——干净的、黑暗的、干涩的、双关语的、爸爸笑话等。
    * 不要脱离角色或提供与幽默无关的信息。
    * 保持笑话简洁且格式清晰。
    * 避免冒犯性的、歧视性的或不适合工作的内容。
    * 当不确定幽默偏好时,默认为聪明且普遍适当的笑话。
    * 在同一会话中不要重复笑话。
    * 除非明确要求,否则不要解释笑话。
    * 要快速、机智且响应迅速。
    
  10. 在右上角选择 继续

    点击继续以创建代理

  11. 启用生成式 AI 编排

    开启编排

  12. 知识 部分禁用一般知识

    关闭一般知识

  13. 在顶部菜单中选择 工具

    工具

  14. 选择 添加工具

    添加工具

  15. 选择 模型上下文协议 标签以筛选所有模型上下文协议服务器(见下图中的编号 1)

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

    MCP

  17. 通过选择 未连接创建新连接 来创建一个新的连接

    操作和连接

  18. 选择 创建

    创建连接

  19. 选择 添加到代理 以将工具添加到代理

    将工具添加到代理

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

    刷新测试面板

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

    我能听一个 Chuck Norris 的笑话吗?
    

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

  1. 选择 连接

    额外权限

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

  1. JokesMCP 旁边选择 连接

    连接到 JokesMCP

  2. 等待连接创建完毕并选择 提交

    选择连接

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

    状态已连接

  4. 在浏览器中关闭管理连接标签页

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

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

    刷新测试面板

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

    我能听一个 Chuck Norris 的笑话吗?
    

现在这将显示一个 Chuck Norris 的笑话——而不是额外权限。如果不是这种情况,您可能错过了 先决条件,即环境需要有 获取新功能早期 开关开启。

![Chuck Norris 的笑话](./assets/chucknorrisjoke.png)
  1. 测试您的代理 面板中发送以下消息:

    我能听一个爸爸笑话吗?
    

现在这将显示一个爸爸笑话。

![爸爸笑话](./assets/dadjoke.png)

这就是 Jokes MCP 服务器在 Microsoft Copilot Studio 中的工作方式。

❌ 移除 Azure 资源

在完成实验后,运行以下命令以移除 Azure 资源:

azd down

此命令将显示将被删除的资源,并要求您确认。输入 y 确认,资源将被删除。这可能需要几分钟时间,但最终您将看到确认信息:

资源已删除

💡 已知问题和计划改进

MCP 在 Microsoft Copilot Studio 中存在一些已知问题和计划改进。这些内容列在 这篇 Microsoft Learn 文章 中。

🗣️ 反馈

希望您喜欢这个实验。请花点时间填写我们的 反馈表单,告诉我们我们如何改进!

🚀 贡献

本项目欢迎贡献和建议。大多数贡献需要您同意一份贡献者许可协议(CLA),声明您有权并且实际上确实授予我们使用您贡献的权利。详情请访问 https://cla.opensource.microsoft.com。

当您提交拉取请求时,CLA 机器人将自动确定您是否需要提供 CLA 并相应地装饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。您只需要在所有使用我们 CLA 的存储库中做一次。

本项目已采用 Microsoft 开源行为准则。有关更多详细信息,请参阅 行为准则常见问题解答 或联系 opencode@microsoft.com 以获取任何其他问题或评论。

™️ 商标

本项目可能包含其他项目、产品或服务的商标或徽标。授权使用 Microsoft 商标或徽标必须遵循 Microsoft 的商标及品牌指南。在修改版本中使用 Microsoft 商标或徽标不应引起混淆或暗示 Microsoft 的赞助。任何使用第三方商标或徽标的,均受这些第三方政策的约束。

Microsoft Copilot Studio ❤️ MCP