使用说明
项目简介
本项目提供了一个基础的Model Context Protocol (MCP) 服务器实现,专注于演示如何通过JWT(JSON Web Token)对MCP工具进行认证和授权。该服务器包含简单的 "hello" 和 "echo" 工具,旨在帮助开发者理解如何在MCP环境中实现安全的工具访问控制。
主要功能点
- MCP协议支持: 基于FastAPI和'mcp.server.FastMCP'构建,实现了基本的MCP服务器功能。
- SSE通信: 使用Server-Sent Events (SSE) 协议与MCP客户端进行通信。
- JWT认证: 集成了JWT认证中间件,保护服务器工具接口,需要有效的JWT令牌才能调用工具。
- 示例工具: 提供了 "hello" 和 "echo" 两个简单的工具,用于演示工具调用和认证流程。
- 本地运行: 设计为本地测试服务器,方便开发者快速搭建和验证MCP客户端的认证功能。
安装步骤
- 环境准备: 确保已安装Python 3.7或更高版本。
- 安装依赖: 使用pip安装项目依赖,在仓库的'testfiles'目录下打开终端,执行命令:
pip install fastapi uvicorn jwt mcp
服务器配置
MCP客户端需要配置服务器的连接信息才能与之通信。对于本测试服务器,客户端需要配置服务器的URL。以下是一个示例配置,客户端需要将此配置添加到其MCP服务器列表中:
{ "auth-test-server": { "url": "http://localhost:9000/sse" } }
配置参数说明:
- 'url': 服务器SSE接口的URL地址。对于本地运行的测试服务器,通常为 'http://localhost:9000/sse'。
注意:本服务器默认启用JWT认证,客户端在实际调用工具时,需要在请求头中包含有效的JWT令牌。服务器启动时会在控制台输出示例JWT令牌,客户端可以使用该令牌进行测试。
基本使用方法
- 启动服务器: 在仓库的'testfiles'目录下,执行命令 'python sse-auth-test-server.py' 启动MCP认证测试服务器。服务器默认运行在 'http://localhost:9000',并会打印服务器地址和示例JWT令牌。
- 配置客户端: 配置您的MCP客户端,添加上述服务器配置。如果需要进行认证测试,请将示例JWT令牌添加到客户端的服务器配置的 'headers' 字段中,例如:
{ "auth-test-server": { "url": "http://localhost:9000/sse", "headers": {"Authorization": "Bearer YOUR_JWT_TOKEN"} // 将 YOUR_JWT_TOKEN 替换为服务器控制台输出的令牌 } } - 调用工具: 使用MCP客户端调用服务器提供的 "hello" 或 "echo" 工具进行测试。客户端需要正确处理认证流程,并在请求中包含有效的JWT令牌(如果配置了认证)。
信息
分类
开发者工具