README
🚀 MCP 笑话服务器带身份验证
本项目是一个基于 FastAPI 实现的 Model Context Protocol (MCP) 服务器示例,它能提供带有基于令牌身份验证的编程笑话服务,为用户带来有趣的编程笑话体验。
🚀 快速开始
环境搭建
- 在 VS Code 中打开此文件夹。
- 当收到提示时,点击“重新在容器中打开”,以使用 devcontainer 配置。
- 容器会自动从
requirements.txt安装所有依赖项。
服务器运行
执行以下命令启动服务器:
python server.py
服务器将在 http://localhost:8000 启动。
✨ 主要特性
- 讲笑话功能:此 MCP 服务器具备简单的讲笑话能力,每次调用时,会在一个编程相关的笑话集合中循环切换。
- 单一 MCP 工具:实现了单一的 MCP 工具
tell_joke。 - 身份验证:需要身份验证才能访问 SSE 端点,服务器为 SSE 端点 (
/sse) 实现了简单的基于令牌的身份验证。 - VS Code Copilot 集成:可作为 GitHub Copilot 在 VS Code 中使用的自定义笑话代理。
📦 安装指南
环境搭建
- 在 VS Code 中打开此文件夹。
- 当提示时,点击“重新在容器中打开”以使用 devcontainer 配置。
- 容器会自动从
requirements.txt安装所有依赖项。
💻 使用示例
服务器启动
python server.py
服务器将在 http://localhost:8000 启动。
身份验证请求示例
服务器为 SSE 端点 (/sse) 实现了基于令牌的身份验证。要进行请求,需在 HTTP 头部中包含有效的 Bearer 令牌。
对于此演示,请使用以下令牌:valid_token
示例 curl 请求:
curl http://localhost:8000/sse \
-H "Authorization: Bearer valid_token"
任何未提供有效令牌的 SSE 端点请求都将收到 401 Unauthorized 响应。
VS Code Copilot 集成使用
此服务器可作为 GitHub Copilot 在 VS Code 中使用的自定义笑话代理。使用步骤如下:
- 使用
python server.py启动 MCP 服务器。 - 已经在
.vscode/settings.json中配置了 VS Code 设置以使用此服务器。 - 服务器将通过 MCP 协议响应对笑话的请求。
📚 详细文档
服务器功能
此 MCP 服务器提供了一个简单的讲笑话能力。每次调用时,它会在一个编程相关的笑话集合中循环切换。服务器的功能包括:
- 实现了单一的 MCP 工具
tell_joke。 - 每次调用返回不同的编程笑话。
- 需要身份验证才能访问 SSE 端点。
支持的功能
- 通过 MCP 工具讲笑话。
- SSE 端点的基于令牌的身份验证。
- 基于 FastAPI 的 HTTP 服务器。
🔧 技术细节
身份验证
服务器为 SSE 端点 (/sse) 实现了一个简单的基于令牌的身份验证。要进行请求,您需要在 HTTP 头部中包含有效的 Bearer 令牌。对于此演示,请使用令牌 valid_token。
安全注意事项
这是演示实现。在生产环境中,您应该:
- 使用适当的身份验证。
- 安全存储秘密。
- 实现有效的令牌颁发和管理。
- 使用 HTTPS。
- 添加速率限制和其他安全措施。
⚠️ 重要提示
此项目为演示实现,在生产环境中需按照安全注意事项进行相应的安全配置。
💡 使用建议
在使用服务器时,确保在 HTTP 头部中包含有效的 Bearer 令牌,以避免收到 401 Unauthorized 响应。
Scan to join WeChat group