返回 MCP 目录
public公开dns本地运行

mcp-authentication-samples

一个基于FastAPI的MCP服务器示例,提供编程笑话服务,包含令牌认证功能

article

README

🚀 MCP 笑话服务器带身份验证

本项目是一个基于 FastAPI 实现的 Model Context Protocol (MCP) 服务器示例,它能提供带有基于令牌身份验证的编程笑话服务,为用户带来有趣的编程笑话体验。

🚀 快速开始

环境搭建

  1. 在 VS Code 中打开此文件夹。
  2. 当收到提示时,点击“重新在容器中打开”,以使用 devcontainer 配置。
  3. 容器会自动从 requirements.txt 安装所有依赖项。

服务器运行

执行以下命令启动服务器:

python server.py

服务器将在 http://localhost:8000 启动。

✨ 主要特性

  • 讲笑话功能:此 MCP 服务器具备简单的讲笑话能力,每次调用时,会在一个编程相关的笑话集合中循环切换。
  • 单一 MCP 工具:实现了单一的 MCP 工具 tell_joke
  • 身份验证:需要身份验证才能访问 SSE 端点,服务器为 SSE 端点 (/sse) 实现了简单的基于令牌的身份验证。
  • VS Code Copilot 集成:可作为 GitHub Copilot 在 VS Code 中使用的自定义笑话代理。

📦 安装指南

环境搭建

  1. 在 VS Code 中打开此文件夹。
  2. 当提示时,点击“重新在容器中打开”以使用 devcontainer 配置。
  3. 容器会自动从 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 中使用的自定义笑话代理。使用步骤如下:

  1. 使用 python server.py 启动 MCP 服务器。
  2. 已经在 .vscode/settings.json 中配置了 VS Code 设置以使用此服务器。
  3. 服务器将通过 MCP 协议响应对笑话的请求。

📚 详细文档

服务器功能

此 MCP 服务器提供了一个简单的讲笑话能力。每次调用时,它会在一个编程相关的笑话集合中循环切换。服务器的功能包括:

  1. 实现了单一的 MCP 工具 tell_joke
  2. 每次调用返回不同的编程笑话。
  3. 需要身份验证才能访问 SSE 端点。

支持的功能

  • 通过 MCP 工具讲笑话。
  • SSE 端点的基于令牌的身份验证。
  • 基于 FastAPI 的 HTTP 服务器。

🔧 技术细节

身份验证

服务器为 SSE 端点 (/sse) 实现了一个简单的基于令牌的身份验证。要进行请求,您需要在 HTTP 头部中包含有效的 Bearer 令牌。对于此演示,请使用令牌 valid_token

安全注意事项

这是演示实现。在生产环境中,您应该:

  1. 使用适当的身份验证。
  2. 安全存储秘密。
  3. 实现有效的令牌颁发和管理。
  4. 使用 HTTPS。
  5. 添加速率限制和其他安全措施。

⚠️ 重要提示

此项目为演示实现,在生产环境中需按照安全注意事项进行相应的安全配置。

💡 使用建议

在使用服务器时,确保在 HTTP 头部中包含有效的 Bearer 令牌,以避免收到 401 Unauthorized 响应。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端