使用说明

项目简介

本项目提供了一个基础的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客户端的认证功能。

安装步骤

  1. 环境准备: 确保已安装Python 3.7或更高版本。
  2. 安装依赖: 使用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令牌,客户端可以使用该令牌进行测试。

基本使用方法

  1. 启动服务器: 在仓库的'testfiles'目录下,执行命令 'python sse-auth-test-server.py' 启动MCP认证测试服务器。服务器默认运行在 'http://localhost:9000',并会打印服务器地址和示例JWT令牌。
  2. 配置客户端: 配置您的MCP客户端,添加上述服务器配置。如果需要进行认证测试,请将示例JWT令牌添加到客户端的服务器配置的 'headers' 字段中,例如:
    {
        "auth-test-server": {
            "url": "http://localhost:9000/sse",
            "headers": {"Authorization": "Bearer YOUR_JWT_TOKEN"}  // 将 YOUR_JWT_TOKEN 替换为服务器控制台输出的令牌
        }
    }
  3. 调用工具: 使用MCP客户端调用服务器提供的 "hello" 或 "echo" 工具进行测试。客户端需要正确处理认证流程,并在请求中包含有效的JWT令牌(如果配置了认证)。

信息

分类

开发者工具