MCP Git Server - 让 AI 智能操作 Git 仓库的官方服务器

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
2
3
4
5
6
7
8
{
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "/path/to/your/repo"]
}
}
}

VS Code 配置

1
2
3
4
5
6
7
8
9
10
{
"mcp": {
"servers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
}
}
}
}

Zed 编辑器配置

1
2
3
4
5
6
7
8
{
"context_servers": {
"mcp-server-git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "/path/to/your/repo"]
}
}
}

环境变量

  • --repository: 指定要操作的 Git 仓库路径(必需参数)

使用示例

使用 uv(推荐方式)

1
2
# 直接运行,指定仓库路径
uvx mcp-server-git --repository /path/to/your/repo

使用 pip 安装

1
2
3
4
5
# 安装服务器
pip install mcp-server-git

# 运行服务器
python -m mcp_server_git --repository /path/to/your/repo

使用 Docker

1
2
3
4
5
# 拉取并运行官方镜像
docker run -i --rm \
-v /path/to/your/repo:/repo \
mcp/git \
--repository /repo

调试模式

1
2
3
4
# 使用 MCP Inspector 进行调试
npx @modelcontextprotocol/inspector \
uvx mcp-server-git \
--repository /path/to/your/repo

实际应用场景

智能代码审查助手

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 进行深度分析。

获取方式

相关资源

  • MCP 协议规范: 了解 Model Context Protocol 的设计原理和最佳实践
  • Git 官方文档: 深入理解各个 Git 命令的行为和参数
  • 示例项目: 查看官方仓库中的配置示例和使用案例
© 2026 Generative AI Discovery All Rights Reserved.
Theme by hiero