使用说明

  • 项目简介 MCP Guard 是一个面向 MCP 路由的后端网关,旨在为 MCP 客户端提供安全、可扩展的上下文服务。它通过集中化的认证与授权、资源与工具管理、Prompts 渲染等功能,帮助你在多服务器环境中安全地接入和管理 MCP 服务器。
  • 主要功能点
    • 资源与工具管理:托管可被 MCP 客户端使用的资源,注册与执行 Tools,支持基于权限的工具访问控制。
    • Prompt 定义与渲染:提供可定制的 Prompt 模板渲染能力,方便与 LLM 的交互模式协同工作。
    • JSON-RPC 通信:服务器与 MCP 客户端通过 JSON-RPC 进行请求/响应,统一规范。
    • 身份认证与授权:支持 API Key、JWT(HS256/JWKS)、OAuth 2.1(PKCE)、mTLS 等多种认证方式,以及对工具的逐资源授权。
    • 速率限制与审计:按身份与工具维度进行限流,提供审计日志与 SIEM 导出能力。
    • 观测与健康性:Prometheus 监控指标、OpenTelemetry 日志、健康检查端点等。
    • 多传输协议与路由:内置 Stdio、HTTP、SSE 传输,支持单服务器与多服务器路由场景。
  • 安装步骤
    1. 克隆仓库并编译
      • 运行环境若干:安装 Rust 工具链。
      • 进入仓库后执行 cargo build --release 以生成二进制。
    2. 生成并准备配置
      • 根据需要自定义 mcp-guard.toml(或 mcp-guard.yaml)配置文件,包含服务端口、上游 MCP 服务器、认证提供者以及路由设置等。
    3. 启动网关
      • 运行生成的二进制并传入配置文件,例如 --config mcp-guard.toml
    4. 验证
      • 通过 /health、/live、/ready、/metrics 等端点检查运行状态与观测数据。
  • 服务器配置(MCP 客户端所需信息) 为方便 MCP 客户端接入,下面提供一个简化的 JSON 结构,描述“某服务器实例”的启动信息,以帮助理解 MCP 客户端需要知晓的上游服务器启动信息。该信息用于 MCP 客户端启动对接 MCP 服务器的命令与参数: { "server_name": "filesystem", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] } 注释:server_name 指明要接入的 MCP 服务器的名称;command 与 args 则指定启动该 MCP 服务器的命令及其参数(MCP 客户端在启动时需要这些信息来建立与 MCP 服务器的连接,此信息仅用于 MCP 客户端启动阶段,实际运行时的传输协议与资源路由由 MCP 服务器本身管理)。
  • 基本使用方法
    • 登录与鉴权:通过 API Key、JWT、OAuth 等方式进行身份认证,确保具备调用工具的权限。
    • 资源与工具访问:调用相应资源接口读取数据或执行工具,遵循授权策略。
    • 提供自定义 Prompt:在与 LLM 的对话中按需渲染或替换 Prompt 模板。
    • 监控与调试:查看 /metrics、/health 等端点,开启 tracing 以获得分布式追踪信息。

信息

分类

开发者工具