git-mcp-server
MCP 协议 Git 服务器,让 AI 助手直接操作仓库的版本控制工具集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MCP 协议 Git 服务器,让 AI 助手直接操作仓库的版本控制工具集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在 Cursor 或 Claude Desktop 中描述"帮我把这个功能分支合并到 main,然后写一份变更日志",AI 助手直接替你完成——不需要你手动切换终端,不需要记那些 git 命令参数,甚至不需要你告诉他工作目录在哪。这不是科幻,而是 @cyanheads/git-mcp-server 正在让这一切变成现实。
这款工具是 GitHub Model Context Protocol(MCP)生态中最为完善的 Git 服务器实现之一。它将完整的 Git 操作能力以结构化工具的形式暴露给任何兼容 MCP 的 AI 客户端,让大语言模型能够安全、可控地与本地代码仓库进行深度交互。

Model Context Protocol(模型上下文协议)是一个开放协议,定义了 AI 应用(如 AI 编程工具、IDE 插件、桌面客户端)如何与外部数据源和工具进行标准化通信。你可以把它理解为 AI 领域的"USB 接口"——无论 AI 客户端来自哪家厂商,只要支持 MCP,就能插上这个"工具集"即插即用。
Git MCP Server 在这个生态中扮演的角色是:充当 Git 版本控制系统的 MCP 接口层。AI 客户端通过 MCP 调用服务器提供的工具(Tool),服务器将这些调用转换为实际的 git 命令并执行,最终以结构化结果返回给 AI。整个过程发生在本地,Git 凭证不会泄露给任何第三方服务。
项目提供 28 个 Git 操作工具,组织为七个功能类别:
| 类别 | 工具数量 | 涵盖操作 |
|---|---|---|
| 仓库管理 | 4 | 初始化、克隆、状态检查、清理 |
| 暂存与提交 | 3 | 添加文件、提交变更、差异对比 |
| 历史追溯 | 4 | 日志查看、对象展示、逐行追责、引用日志 |
| 变更分析 | 1 | LLM 驱动的变更日志生成 |
| 分支与合并 | 5 | 分支管理、切换、合并、变基、精选提交 |
| 远程协作 | 4 | 远程仓库配置、拉取、推送、拉取请求 |
| 进阶工作流 | 7 | 标签、储藏、工作树管理、会话封装等 |
git_changelog_analyze:这是最有 AI 原生味道的工具。它不是简单输出 commit 历史,而是收集本次开发的上下文信息(diff、commit message、分支关系),组织成指令发送给大语言模型,由模型生成一份结构化的变更日志文档。对于需要频繁发布 release notes 的团队来说,这省去了大量人工整理工作。
git_wrapup_instructions:一个元工作流工具,封装了"回顾变更 → 生成文档 → 提交代码 → 打标签"的全套流程。它引导 AI 按顺序完成发布前检查,生成 CHANGELOG,确保 commit message 规范,最终完成版本标签。整个流程过去需要开发者手动操作,现在 AI 可以按脚本执行。
工作树管理(git_worktree 系列):Git worktree 允许在同一个仓库的多个分支上并行工作,彼此互不干扰。这个项目将 worktree 的创建、列表查看、删除等操作全部工具化,AI 可以在不同功能分支之间快速切换,适合处理需要同时维护多个特性的复杂场景。
MCP 服务器支持两种通信传输模式,适配不同使用场景:
STDIO 模式(默认):AI 客户端通过标准输入/输出与服务器通信。这种方式简单直接,适合本地集成(如 Claude Desktop、Cursor IDE 的内置终端)。启动命令为 MCP_TRANSPORT_TYPE=stdio npx @cyanheads/git-mcp-server@latest。
Streamable HTTP 模式:通过 HTTP REST API 进行通信,适合需要远程部署或服务化的场景。服务端支持状态化(保留工作目录上下文)和无状态(每次独立调用)两种会话模式,由 MCP_SESSION_MODE 环境变量控制。默认端口 3015,可通过 MCP_HTTP_PORT 自定义。
项目还支持将服务部署到 Cloudflare Workers(通过 wrangler.toml 配置),意味着你可以在边缘节点上运行 Git MCP Server,让分布式团队共享同一个服务实例,而无需在每台机器上单独安装。
从源码结构来看,项目的核心架构设计值得称道:
src/
├── mcp-server/ # MCP 协议层(server.ts, tools/, resources/, prompts/)
├── services/git/ # Git 操作服务层(core/, providers/)
├── container/ # 依赖注入容器(tsyringe)
├── config/ # 配置管理
├── utils/ # 工具函数(telemetry, logging)
└── storage/ # 会话存储层
Provider 模式是架构的核心亮点:GitService 不直接调用 git 命令,而是通过抽象的 GitProvider 接口进行操作。这意味着底层实现可以轻松替换——当前用命令行 git,未来可以换成 libgit2 或 isomorphic-git,无需修改业务逻辑代码。
项目使用 tsyringe 进行依赖注入,将配置、传输管理器、Git 服务、日志系统等全部注册到 DI 容器中。src/index.ts 的启动流程非常干净:加载配置 → 初始化容器 → 启动传输管理器 → 注册工具 → 等待连接。模块边界清晰,测试性极强。
OpenTelemetry 集成:服务端内置了完整的分布式追踪和指标收集能力,支持将 traces 和 metrics 导出到 OTLP 兼容的后端(如 Jaeger、Grafana)。对于在生产环境中运行这个服务的团队,这意味着可以清楚地监控每个 Git 操作的耗时和调用链路。
在企业场景中,让 AI 操作 Git 的最大顾虑是安全性——AI 是否会访问不该访问的仓库?是否会以错误的身份提交代码?
项目提供了两层安全机制:
目录沙箱(GIT_BASE_DIR):设置后,所有 Git 操作被限制在指定目录树下。AI 客户端无法跳出这个边界访问系统其他位置的仓库。
Git 身份配置:通过 GIT_USERNAME 和 GIT_EMAIL 显式设置提交身份,还有 GIT_SIGN_COMMITS 支持 GPG 签名提交。这意味着即使 MCP 客户端所在系统有全局 Git 配置,服务器仍会以明确指定的身份执行操作,避免意外的身份混淆。
代码质量是很多开源 MCP 服务器的短板,但这个项目的工程化程度令人印象深刻:
项目的 smithery.yaml 配置使其可以直接在 Smithery.ai 平台上被发现和安装,而 server.json 遵循 MCP 官方 Schema,确保工具定义与 MCP 规范完全兼容。这两点对于提升工具的可发现性和互操作性至关重要。
通过 npm(npx)安装:
npx @cyanheads/git-mcp-server@latest
通过 Bun 安装(性能更优):
bunx @cyanheads/git-mcp-server@latest
在 Claude Desktop 中配置:编辑 ~/.claude/settings.json,添加 mcpServers.git-mcp-server 配置块,指定 command 为 npx 或 bunx,并可选配置 GIT_BASE_DIR、GIT_USERNAME、GIT_EMAIL 等环境变量。
依赖要求:Node.js >= 20.0.0 或 Bun >= 1.2.0,以及本地已安装的 git 命令行工具(需加入 PATH)。
目前没有提供 Docker 支持,对于习惯容器化部署的团队来说需要通过传统方式安装。但好在安装过程本身极为简单,npx/bunx 即可完成,无需手动编译。
尽管功能完善,项目仍有一些需要注意的限制:
依赖本地 git 命令:项目并非纯 Node.js 实现,内部仍然调用系统 git 命令。这意味着目标机器必须安装 git,且版本兼容性需要考虑。某些 git 操作(如 worktree)在较老版本的 git 中可能不可用。
AI 幻觉风险:虽然工具定义和 Schema 能在一定程度上约束 AI 的行为,但在复杂场景下(如多分支合并冲突、大型仓库的深度历史查询),AI 仍可能生成不正确的 git 命令。团队应在初期建立人工审核机制,待工作流成熟后再逐步放开 AI 自主操作权限。
无 Web UI:这是一个纯 CLI 工具,没有图形界面。对于习惯可视化 Git 操作(如 GitKraken、Sourcetree)的用户,需要适应命令行交互模式。
MCP 生态正处于快速扩张期。截至 2026 年,GitHub 上已有数百个 MCP 服务器实现,涵盖文件系统、数据库、API 调用、搜索等各个领域。在这场"AI 工具化"浪潮中,Git 是开发者日常工作流中最核心的环节之一——谁能做好 Git + AI 的集成,谁就占据了开发者 AI 工作流的关键入口。
@cyanheads/git-mcp-server 正是这个赛道的头部选手之一。它不是最早的实现,但凭借 28 个工具的完整覆盖、双传输模式支持、企业级安全配置和极高的工程化水准,在 225 个 GitHub stars 和 55 个 forks 的背后,是大量真实开发者的认可。
随着 AI 编程工具(如 Cursor、Copilot Workspace)逐步从"辅助建议"进化为"自主执行",能够安全驱动 Git 操作的 MCP 服务器将成为 AI DevOps 基础设施的重要组成部分。这个项目为这个方向提供了一个高质量的开源参考实现,值得关注。