Airbroke MCP 服务端

使用说明(简明版,便于快速落地)

  • 项目简介
    • Airbroke 提供一个 MCP 兼容的后端服务器,为 LLM/代理提供统一的上下文数据、资源数据与工具能力。通过 JSON-RPC 进行交互,客户端可读取资源、执行工具、获取提示模板等,以便实现更智能的对话与推理流程。
  • 主要功能点
    • MCP 兼容接口:通过 /api/mcp 暴露 JSON-RPC 服务,支持 initialize、notifications/initialized、tools/list、tools/call 等常见操作。
    • 资源与通知工具:内置工具如 airbroke_list_projects、airbroke_get_occurrence、airbroke_get_notice、airbroke_search 等,用于查询项目、公告、发生记录、以及跨项目搜索等。
    • 工具执行与输出:工具执行结果以文本和结构化内容返回,支持错误输出与结构化字段,方便 LLM 进行后续推理。
    • 安全与鉴权:通过 AIRBROKE_MCP_API_KEY 进行简单的头部鉴权,支持 Origin 限制,防护跨域调用。
    • 会话与扩展性:服务端维护会话状态、能力声明,具备可扩展的工具注册机制,支持多种传输与 SSE 的禁用选项等。
  • 安装步骤
    1. 安装依赖并编译运行环境(本仓库为 Next.js 应用,提供 standalone 输出)。
    2. 按照仓库根目录的 .env.dist 配置环境变量,例如数据库连接、MCP API Key、CORS 设定等。
    3. 构建并启动服务:
      • 运行环境指引:在支持 Node.js 的环境中执行安装与构建,然后启动服务。
      • 端口默认: 3000(具体端口请根据部署设置调整)。
  • 服务器配置(MCP 客户端需要的启动信息) 下列为示例 JSON 配置,描述如何在 MCP 客户端使用 Airbroke 的 MCP 服务端。注意客户端不需要此代码,仅用于说明服务器启动信息与如何对接。 { "server_name": "airbroke", "command": "yarn", "args": ["start"], "env": { "AIRBROKE_MCP_API_KEY": "<your-mdp-key>", // MCP 访问密钥,需在服务端配置同值 "DATABASE_URL": "<你的数据库连接字符串>", // 数据库连接字符串,确保 Prisma 能连接 "AIRBROKE_MCP_ALLOWED_ORIGINS": "*" // 允许的浏览器源,按需配置 }, "notes": "MCP 客户端通过 /api/mcp 与服务端通信,请在请求头中携带以下任一认证信息:Authorization: Bearer <AIRBROKE_MCP_API_KEY> 或 X-Airbroke-Mcp-Key: <AIRBROKE_MCP_API_KEY>" } 说明:
    • server_name 对应 MCP 服务端的名称标识(本实现中为 airbroke)。
    • command/args 指定启动命令及参数,常见做法是使用 yarn start/start 脚本启动 Next.js 服务器。
    • env 字段用于提供必要的运行时环境变量,具体变量请结合 README/.env.dist 的说明配置。
    • 客户端还需要在请求头中提供 MCP Key,服务端会进行校验。
  • 基本使用方法
    • 与 MCP 客户端建立连接后,发送标准 JSON-RPC 请求(如 initialize、tools/list、tools/call 等)。
    • 使用 /api/mcp 入口,服务端会返回 JSON-RPC 风格的响应,或以 Server-Sent/Event-Stream 等形式传输扩展输出(如需要时,客户端可按实际实现处理)。
    • 如需测试,请使用仓库提供的单元测试或通过本地捕获服务器模拟请求与响应。

服务器信息