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 或自动化代理进行后续处理

服务器信息