Adjutant MCP 服务器

  • 项目简介
    • Adjutant 是一个完整的后端服务,围绕 MCP(Model Context Protocol)实现一个 MCP 服务器,旨在通过标准化的 JSON-RPC 方式向 LLM 客户端提供资源管理、工具调用以及提示模板等能力,以实现统一的上下文服务和功能入口。
  • 主要功能点
    • 资源(Resource) 管理:后端持有与查询与 Beads、项目等相关的数据资源,提供数据访问能力。
    • 工具(Tools) 注册与执行:提供 MCP 工具集,LLM 可以通过 JSON-RPC 调用外部功能(如读取消息、发送消息、创建/更新 bead 等)。
    • Prompt 模板与渲染:定义和渲染 Prompt 模板,用于定义与渲染 LLM 的交互模式。
    • 会话与身份:服务器端负责会话管理、能力声明,以及对客户端的身份和连接进行管理。
    • 多传输协议支持:MCP 服务器通过 SSE、WebSocket 等传输协议与客户端通信,具备可扩展的传输能力。
    • JSON-RPC 端点与路由:提供 /mcp/sse、/mcp/messages 等端点,用于 MCP 的上下文消息路由与处理。
  • 安装步骤
      1. 安装依赖并获取源码
      1. 启动后端服务(包含 MCP 服务、前端/dashboard 与可选 ngrok 隧道等)。README 指出该仓库在开发模式下可通过 npm 脚本一次性启动后端、前端和隧道。
      1. 访问后端健康与接口端点,确保后端端口(默认4201)可用。
  • 服务器配置(MCP 客户端需要的配置示例说明)
    • 下面描述的是作为 MCP 客户端的配置信息,便于在客户端建立与 MCP 服务器的连接。实际仓库中包含对服务端能力的实现与暴露的端点信息,客户端需要使用该信息与服务器交互。
    • 配置要点(JSON 描述,字段意义简述,便于理解而非代码片段):
      • serverName: adjutant 说明:MCP 服务器在客户端注册时的名称标识,用于区分不同的 MCP 服务器。
      • command: node 说明:启动服务器进程所需的命令(客户端将基于此命令启动与 MCP 服务器的通信相关进程)。
      • args: ["backend/dist/index.js"] 说明:启动时传入的参数列表,指向 MCP 服务的入口程序(具体路径据实际构建产物而定)。
      • transport: "sse" 或 "websocket" 说明:服务器支持的传输模式,客户端应据此选择合适的传输通道与初始化方式。
    • 备注:以上配置描述旨在帮助 MCP 客户端理解如何连接到该服务器。实际应用中客户端读取的配置格式会以其自身实现为准,Adjutant 仓库中提供的服务器实现已经实现了对 MCP 客户端的对接能力。
  • 基本使用方法
    • 运行与连接:在具备 MCP 客户端的环境中,启动客户端并配置连接信息以连通 Adjutant 的 MCP 服务器端;客户端通过 JSON-RPC 进行读取资源、调用工具、获取 Prompts 等请求。
    • 典型工作流:LLM 发出资源/工具/提示相关请求,MCP 服务器解析请求、执行业务逻辑(如读取资源、执行工具、渲染 Prompt),并以 JSON-RPC 响应返回结果给客户端;如有需要,服务器会通过 SSE/WebSocket 推送通知。
    • 安全与扩展:服务器端负责会话管理与能力声明,支持多工/多会话,便于横向扩展和接入更多工具/资源。

服务器信息