MCP Git Server - 让 AI 智能操作 Git 仓库的官方服务器
简介
MCP Git Server 是 Model Context Protocol 官方推出的 Git 版本控制服务器,专为 AI 助手设计。它让 Claude、ChatGPT 等大语言模型能够像开发者一样直接操作 Git 仓库,执行查看状态、提交代码、创建分支等所有常见操作。通过标准化的 MCP 协议,AI 可以安全地读取提交历史、查看代码差异、管理分支,甚至自动生成规范的提交信息。这个服务器采用 Python 开发,提供了 12 个核心工具,覆盖从基础的状态查看到高级的分支管理的完整 Git 工作流程。
核心特性
- 完整的 Git 工作流支持 - 提供状态查看、暂存、提交、分支管理等 12 个核心工具,覆盖日常开发所需的所有 Git 操作
- 智能差异对比 - 支持查看未暂存、已暂存的更改,以及任意分支和提交之间的差异,让 AI 精确理解代码变更
- 分支管理能力 - 支持创建新分支、切换分支、查看所有分支,让 AI 参与完整的 Git Flow 工作流
- 提交历史追溯 - 可以查看提交日志、显示特定提交的详细内容,帮助 AI 理解项目演进历史
- 安全的操作设计 - 所有操作都在指定的仓库路径下执行,避免误操作影响其他项目
- 多环境兼容 - 支持 Claude Desktop、VS Code、Zed 等多种客户端,提供灵活的部署方式
- 容器化支持 - 提供官方 Docker 镜像,简化部署和环境管理
工具列表
状态和差异查看
git_status
描述: 显示当前工作树的状态,包括已修改、已暂存和未跟踪的文件
参数: 无需参数
git_diff_unstaged
描述: 显示工作目录中尚未添加到暂存区的所有更改
参数: 无需参数
git_diff_staged
描述: 显示已添加到暂存区但尚未提交的更改
参数: 无需参数
git_diff
描述: 比较不同分支或提交之间的差异
参数:
target(string): 要比较的目标分支名称或提交哈希值 [必需]
暂存和提交
git_add
描述: 将指定的文件内容添加到暂存区,准备提交
参数:
files(array): 要暂存的文件路径列表,支持通配符 [必需]
git_reset
描述: 从暂存区移除文件,但保留工作目录中的更改
参数:
files(array): 要取消暂存的文件列表,如果不提供则重置所有已暂存的文件 [可选]
git_commit
描述: 将暂存区的更改记录到仓库历史中
参数:
message(string): 提交消息,应该清晰描述本次更改的内容和原因 [必需]
历史和日志
git_log
描述: 显示提交历史记录,包括作者、日期和提交消息
参数:
max_count(number): 限制显示的提交数量,默认显示最近的所有提交 [可选]
git_show
描述: 显示指定提交的详细信息,包括元数据和完整的代码差异
参数:
revision(string): 要查看的提交哈希值或引用(如 HEAD、分支名) [必需]
分支管理
git_branch
描述: 列出仓库中的所有本地分支,当前分支会被标记
参数: 无需参数
git_create_branch
描述: 基于当前提交创建一个新的分支
参数:
branch_name(string): 新分支的名称,应遵循 Git 分支命名规范 [必需]
git_checkout
描述: 切换到指定的分支
参数:
branch_name(string): 要切换到的分支名称 [必需]
配置方式
Claude Desktop 配置
1 | { |
VS Code 配置
1 | { |
Zed 编辑器配置
1 | { |
环境变量
--repository: 指定要操作的 Git 仓库路径(必需参数)
使用示例
使用 uv(推荐方式)
1 | # 直接运行,指定仓库路径 |
使用 pip 安装
1 | # 安装服务器 |
使用 Docker
1 | # 拉取并运行官方镜像 |
调试模式
1 | # 使用 MCP Inspector 进行调试 |
实际应用场景
智能代码审查助手
AI 可以读取提交历史和代码差异,自动分析代码变更的影响范围,检测潜在的 bug 和不符合规范的代码,并生成详细的审查报告。
自动化提交管理
让 AI 根据代码更改内容自动生成规范的 Conventional Commits 格式提交信息,包括类型(feat/fix/docs)、作用域和详细描述,确保提交历史的一致性。
分支策略执行
AI 可以根据任务类型自动创建符合团队规范的分支(如 feature/user-auth、hotfix/payment-bug),并在完成后执行正确的合并流程。
代码冲突预警
在执行操作前,AI 可以比较不同分支的差异,提前发现潜在的合并冲突,并给出解决建议,减少开发中的摩擦。
版本发布辅助
AI 可以分析从上个版本标签到当前提交的所有变更,自动生成 changelog,标记破坏性变更,并建议版本号升级策略(major/minor/patch)。
技术实现
MCP Git Server 采用 Python 开发,直接调用系统的 Git 命令行工具执行操作。这种设计确保了与原生 Git 的 100% 兼容性,避免了第三方库可能带来的行为差异。服务器通过 Model Context Protocol 标准接口暴露功能,支持流式响应和错误处理。
所有操作都限定在初始化时指定的仓库路径下,通过路径验证和权限检查确保安全性。服务器支持并发请求,可以同时处理多个 Git 操作而不会互相干扰。
对于复杂的差异输出,服务器会进行智能格式化,确保 AI 能够准确理解代码变更的上下文。提交历史会包含完整的元数据,包括作者信息、时间戳和提交图谱,方便 AI 进行深度分析。
获取方式
- GitHub: https://github.com/modelcontextprotocol/servers
- 安装:
pip install mcp-server-git或uvx mcp-server-git - Docker:
docker pull mcp/git - 官方文档: https://modelcontextprotocol.io/docs
相关资源
- MCP 协议规范: 了解 Model Context Protocol 的设计原理和最佳实践
- Git 官方文档: 深入理解各个 Git 命令的行为和参数
- 示例项目: 查看官方仓库中的配置示例和使用案例