Git-Gud MCP 服务器
使用说明(Markdown格式)
-
项目简介
- 这是一个按照 MCP 服务器模式实现的后端服务,围绕 git-gud (gg) 的堆叠差分工作流,向 AI 客户端提供结构化的资源、工具和提示模板等能力,通过 JSON-RPC 交互。
- 服务器以 gg-mcp crate 实现,提供多项 MCP 工具接口(如堆栈列表、堆栈状态、PR/MR 信息、配置等),并通过 rmcp 框架暴露为 MCP 服务。
-
主要功能点
- 提供当前堆栈及其条目信息、PR/MR 状态及 CI 状态查询
- 暴露和查询全仓库的堆栈摘要、远端堆栈信息
- 获取指定 PR/MR 信息、描述、URL、状态等
- 暴露当前仓库的配置摘要
- 通过工具路由暴露多种 GG 相关操作(如栈创建、同步、合并、重放、导航、Lint、Absorb 等)
- 通过 JSON 输出格式化响应,适配无交互的 MCP 客户端
- 服务器自带会话与能力声明,适配 MCP 客户端的首次连接与能力探测
-
安装步骤
- 需要 Rust 编译环境
- 进入 crates/gg-mcp 目录,执行 cargo build 或 cargo run
- 服务器将以标准输入/输出作为传输通道(stdio)运行,客户端应通过 MCP 配置指向该服务器的启动命令来建立连接
-
服务器配置(MCP 客户端需要的最小信息) 说明:以下 JSON 配置示例用于 MCP 客户端建立与服务器通信,包含服务器名称、启动命令及参数等信息。配置仅供客户端使用,便于自动化接入。 { "mcpServers": { "git-gud": { "command": "gg-mcp", "args": [], "env": { "GG_REPO_PATH": "/path/to/your/repo" } // 说明: // - command: MCP 服务器可执行文件名,当前实现的服务器入口是 gg-mcp(来自 crates/gg-mcp) // - args: 启动参数,若无可为空数组 // - env: 运行时环境变量,示例给出 GG_REPO_PATH 指向要操作的本地仓库路径 } } }
-
基本使用方法
- 启动服务器后,MCP 客户端读取上述配置并通过 JSON-RPC 与服务器进行请求
- 客户端可请求以下类型的接口(示例名称与实际实现一致,以 tool_router 暴露的方法为准):
- stack_list、stack_list_all、stack_status、pr_info、config_show 等
- stack_checkout、stack_sync、stack_land、stack_clean、stack_rebase、stack_squash、stack_lint 等
- 以及导航与其他辅助功能工具
- 输出均为 JSON 数据,便于 LLM 或自动化代理进行后续处理