Grove MCP 服务端

使用说明(简要指南,帮助快速接入 MCP 客户端)

  • 项目简介 Grove 提供一个基于 MCP 的后端服务器,专为与 LLM 客户端的交互设计。服务器实现了对资源、工具与 Prompt 的统一管理与访问,允许 LLM 客户端通过 JSON-RPC 调用读取任务上下文、读取笔记、获取评审评论、批量回复评审、以及完成任务等操作。

  • 主要功能点

    • MCP 核心:实现 MCP 的基本请求/响应结构,使用 JSON-RPC 进行通信。
    • GROVE 工具集成:提供 grove_status、grove_read_notes、grove_read_review、grove_reply_review、grove_complete_task 等工具接口,供 LLM 调用以获取上下文、读取笔记/评审、返还或提交评审、完成任务等。
    • 安全与上下文:通过环境变量(如 GROVE_TASK_ID、GROVE_PROJECT、GROVE_WORKTREE 等)读取并构建当前任务上下文,确保工具调用在正确的任务上下文中执行。
    • 服务器实现方式:当前实现基于 stdio 传输,适合与 MCP 客户端在同一进程或管道内通信。
    • 与 Grove 生态的结合点:结合现有的任务/笔记/评审数据存储,提供一致的后端行为。
  • 安装与运行

    • 直接运行方式(开发/调试): 在仓库根目录,执行 cargo run --bin grove -- mcp
    • 通过已安装的 Grove 二进制运行(生产/集成场景): grove mcp
    • 说明 服务器通过标准输入/输出进行 JSON-RPC 通信,客户端应连接并按照 MCP 规范进行请求/响应。
  • 服务器配置(客户端需要,不是 Grove 的运行参数) MCP 客户端需要知道服务器的连接信息以建立连接。以下 JSON 配置示例用于 MCP 客户端注册 Grove 服务器,请替换为实际部署环境中的值: { "server_name": "grove", "command": "grove", "args": ["mcp"] } 注释说明:

    • server_name:服务器的名称标识,客户端据此识别对应的 MCP 服务器。
    • command:启动服务器的命令,在本实现中可使用 grove(对应 cargo 安装后的可执行文件名)。
    • args:启动参数,此处为 ["mcp"],用于指定启动 MCP 服务的子命令。 以上配置是 MCP 客户端所需的连接信息, Grove 的 MCP 服务器本身并不需要该配置来运行,但用于说明如何将 Grove 服务器暴露给 MCP 客户端使用。
  • 基本使用方法

    • 启动 Grove MCP 服务器后,MCP 客户端发送标准 JSON-RPC 请求,如 grove_status、grove_read_notes、grove_read_review、grove_reply_review、grove_complete_task 等。
    • 客户端解析服务器响应的 JSON-RPC 结果,并据此在 LLM 推理流程中接入上下文与外部功能。
    • Grove 服务器通过环境变量读取当前任务信息,实现多任务并发场景下的上下文提供与工具执行。
  • 开发与扩展

    • 服务器实现了 grove_status、grove_read_notes、grove_read_review、grove_reply_review、grove_complete_task 等工具的处理逻辑。
    • 未来可扩展支持其他传输协议(如 WebSocket、SSE)以及更多资源/工具类型的 JSON-RPC 接口。
  • 注意事项

    • MCP 客户端应确保在调用 grove_read_notes、grove_read_review 等工具前,先执行 grove_status,验证是否在 Grove 的任务上下文中。
    • 当前实现以 STDIO 传输为主,适合在本地或管道中的集成场景使用。

服务器信息