Mcsmcp

Mcsmcp

🚀 Microsoft Copilot Studio 中的 Jokes MCP 服务器详解

本实验将帮助您在 Microsoft Copilot Studio 中设置 Jokes MCP Server,与 Copilot 交互获取笑话,并深入理解 MCP 服务器在 Copilot Studio 中的工作原理。通过完成实验,您可以在 Copilot Studio 集成并运行 Jokes MCP Server,还能使用不同命令从多个来源获取各类笑话。

🚀 快速开始

实验目标

本实验将指导您完成以下步骤:

  1. 在 Microsoft Copilot Studio 中设置 Jokes MCP Server
  2. 与 Copilot 进行交互以获取笑话
  3. 理解 MCP 服务器如何在 Copilot Studio 中工作

通过本实验,您将能够:

  • 在 Copilot Studio 中集成并运行 Jokes MCP Server
  • 使用不同的命令从多个来源获取笑话(包括 Chuck Norris、爸爸和妈妈的笑话)

实验环境

基础要求

  • Copilot Studio:需要 Microsoft 365 或 Visual Studio 订阅
  • Jokes MCP Server:基于 TypeScript SDK 构建

推荐工具

  1. Node.js 和 npm:用于运行和构建服务器
  2. Git:用于代码版本控制

📦 安装指南

实验步骤

第一部分:在 Copilot Studio 中设置 Jokes MCP 服务器

步骤 1:创建新实验
  1. 打开 Microsoft Copilot Studio。
  2. 点击“新建实验”按钮,选择一个空白项目。
步骤 2:集成 Jokes MCP Server
  1. 在实验中添加一个新的模块,命名为 jokes-mcp-server
  2. 将以下代码粘贴到该模块的编辑器中:
// jokes-mcp-server.ts
import { Agent } from '@modelcontextprotocol/typescript-sdk';

const agent = new Agent();

agent.on('input', async (input) => {
if (input.toLowerCase().includes('chuck norris')) {
return getChuckNorrisJoke();
} else if (input.toLowerCase().includes('dad joke')) {
return getDadJoke();
} else if (input.toLowerCase().includes('yo mama')) {
return getYoMamaJoke();
}
});

async function getChuckNorrisJoke() {
// 实现从 chucknorris.io 获取笑话的逻辑
}

async function getDadJoke() {
// 实现从 icanhazdadjoke.com 获取笑话的逻辑
}

async function getYoMamaJoke() {
// 实现从 yomama-jokes.com 获取笑话的逻辑
}
步骤 3:配置 MCP 代理
  1. 在 Copilot Studio 中,导航到“设置” > “模型和代理”。
  2. 添加一个新的代理,指定为 jokes-mcp-server 模块。

💻 使用示例

基础用法

第二部分:测试 Jokes MCP 服务器

测试命令

在 Copilot Studio 的聊天界面中输入以下内容:

  1. Chuck Norris 笑话
/get-chuck-joke
  1. 爸爸笑话
/get-dad-joke
  1. Yo Mama 笑话
/get-yo-mama-joke
预期输出
  1. Chuck Norris 笑话示例:

“为什么 Chuck Norris 不需要 GPS?因为他知道每个方向都是他的名字。”

  1. 爸爸笑话示例:

“为什么数学书总是很悲伤?因为它有太多的问题!”

  1. Yo Mama 笑话示例:

“为什么 Yo Mama 的聚会总是很安静?因为她只邀请了她自己和她的影子!”

高级用法

第三部分:高级功能

步骤 1:查看笑话来源

输入以下命令以获取所有可用的笑话来源:

/sources
步骤 2:自定义笑话来源
  1. jokes-mcp-server.ts 中添加新的笑话源。
  2. 更新代理配置以支持新的来源。
示例:添加“猫狗”笑话源
// jokes-mcp-server.ts
async function getCatDogJoke() {
// 实现从 catdog-jokes.com 获取笑话的逻辑
}

🔧 技术细节

第四部分:故障排除和优化

常见问题

  1. 无法获取笑话

    • 检查网络连接。
    • 确保目标笑话网站没有限制访问。
  2. 错误信息

    • 查看控制台日志以获取详细错误信息。
    • 确保所有 API 请求都已正确实现。

性能优化

  1. 添加错误处理:
async function getChuckNorrisJoke() {
try {
// 获取笑话的逻辑
} catch (error) {
console.error('获取 Chuck Norris 笑话时出错:', error);
return '抱歉,无法获取当前笑话。';
}
}
  1. 实现缓存机制以提高性能:
let lastChuckJoke: string | null = null;

async function getChuckNorrisJoke() {
if (lastChuckJoke) return lastChuckJoke;

// 获取新笑话并更新 lastChuckJoke
}

📚 详细文档

附加信息

工具和资源

  • Node.js 和 npm:用于运行和构建服务器。
  • Git:用于代码版本控制。

已知问题和改进计划

  1. 当前限制

    • 目前仅支持三个笑话来源。
    • 笑话数量有限,建议定期更新内容。
  2. 未来改进

    • 添加更多笑话来源(如程序员、学校等)。
    • 实现笑话分类和过滤功能。

贡献指南

  1. 如何贡献代码

    • 提交拉取请求到 jokes-mcp-server 仓库。
    • 确保代码符合 TypeScript 标准。
  2. 如何报告问题

    • 在 GitHub 仓库中创建新议题。
    • 提供详细错误信息和复现步骤。

📄 许可证

  • 本指南中的所有内容均受 Microsoft 许可协议约束。
  • 笔记本代码和文档版权归作者所有,转载请注明出处。

商标信息

  • MicrosoftCopilot Studio 和相关徽标是微软公司的注册商标。
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-28 02:18

相似服务问题