OpenBotAuth MCP 服务器

  • 项目简介
    • OpenBotAuth 的 MCP 服务器实现,使用 MCP SDK 构建,暴露“策略评估、支付意图创建、计量事件上报”等工具,供 LLM 客户端统一调用与获得上下文/能力输出。
  • 主要功能点
    • 策略工具(policy_apply):基于资源和请求信息评估访问策略(允许、拒绝、 teaser、支付等)。
    • 支付工具(payments_create_intent):为需要付费的内容创建支付意图,返回支付链接等信息。
    • 计量工具(meter_ingest):对使用行为进行计量并写入数据库/缓存,供分析与报表使用。
    • 使用 MCP SDK 提供的 ListTools 与 CallTool 接口,支持通过 JSON-RPC 请求查询工具列表与执行工具。
    • 与 PostgreSQL、Redis 等外部服务集成,具备实时统计、历史数据与分析能力。
    • 以 Node.js/TypeScript 实现,默认通过标准输入输出(stdio)等传输与 Claude Desktop 集成示例,便于嵌入式或桌面端工作流。
  • 安装步骤
    • 确保已安装 Node.js 14+(仓库使用 Node.js 生态,建议 Node.js 20+ 的环境)。
    • 将仓库克隆到本地:git clone https://github.com/OpenBotAuth/openbotauth.git
    • 进入 MCP 服务器包并安装依赖:
      • 进入 packages/mcp-server
      • 安装依赖(建议使用 pnpm/yarn/npm 之一)
    • 构建 MCP 服务器:
      • 构建产物(dist/index.js 等)以便通过 Node 运行
    • 启动 MCP 服务器:
      • 使用 Node 运行打包后的服务器文件,例如 node dist/index.js
  • 服务器配置(MCP 客户端需要至少提供启动命令和参数来连接 MCP 服务器)
    • 下面给出一个示例 JSON 配置,描述服务器名称、启动命令及参数,以及典型环境变量。此配置用于帮助 MCP 客户端了解如何启动并连接你的 MCP 服务器;实际客户端可能不需要直接执行此配置,但它有助于理解服务器端部署信息。
    • 示例配置(JSON,字段含义在后续注释中解释): { "server_name": "openbotauth-mcp", "command": "node", "args": ["dist/index.js"], "working_directory": "packages/mcp-server", "env": { "DATABASE_URL": "postgresql://user:password@host:5432/dbname", "REDIS_URL": "redis://localhost:6379", "PAYMENT_BASE_URL": "http://localhost:8082", "PAYMENT_PROVIDER": "local" } }
    • 说明
      • server_name: MCP 服务器的唯一标识名称,便于在客户端日志与监控中识别。
      • command: 启动服务器所用的可执行命令。这里使用 node。
      • args: 启动参数,指向打包后的入口文件(dist/index.js)。
      • working_directory: 服务器实际部署路径,便于脚本与部署工具定位。
      • env: 运行时所需的外部依赖配置,通常包含数据库连接、缓存、支付相关接口等。
  • 基本使用方法
    • 启动前准备
      • 确保 PostgreSQL 和 Redis 服务可用并正确配置连接字符串。
      • 在 MCP 服务器目录下设置所需的环境变量(DATABASE_URL、REDIS_URL、PAYMENT_BASE_URL 等)。
    • 启动流程
      • 构建 MCP 服务器后,通过 Node 直接执行 dist/index.js 启动 MCP 服务。
      • 启动后,服务器会监听并通过 MCP SDK 的 stdio transport 或其他传输方式与客户端进行 JSON-RPC 通信。
    • 客户端调用示例(简述,不给出代码)
      • 客户端通过 JSON-RPC 向 MCP 服务器请求工具列表(ListTools),或调用具体工具(CallTool)。
      • 调用结果包含工具输出、可能的错误信息、以及状态指示。
  • 运行与集成注意
    • MCP 服务需要可靠的进程管理与日志记录,建议配合容器化部署(Docker/Kubernetes)和进程管理工具(pm2、systemd)。
    • 生产环境应使用稳定的数据库/缓存集群,并配置正确的防火墙和密钥管理。

服务器信息