Git MCP Server:让没有终端的客户端也能操作本地仓库
MCP 官方参考实现之一:查看状态、diff 和日志,暂存、提交、建分支、切分支。适合 Claude Desktop 这类没有 shell 的客户端。
项目与安装文档
查看项目https://github.com/modelcontextprotocol/servers
Claude Code、Codex 这类终端智能体可以直接敲 git 命令,但 Claude Desktop 等聊天客户端没有 shell,想让模型看一眼本地仓库改了什么都做不到。mcp-server-git 把常用的 Git 操作包装成结构化工具,模型按参数调用,返回的是状态、diff 和提交记录。它是 Model Context Protocol 官方 servers 仓库里的参考实现之一,用 Python 编写。
能做什么
- 查看状态与差异:
git_status、git_diff_unstaged、git_diff_staged、git_diff分别看工作区、暂存区和分支之间的变化。 - 历史与提交内容:
git_log支持按时间范围过滤(ISO 8601 或“2 weeks ago”这类相对时间),git_show查看某次提交的内容。 - 写操作:
git_add暂存、git_commit提交、git_reset取消暂存。 - 分支:
git_branch列出本地或远程分支,git_create_branch新建,git_checkout切换。 - 多种运行方式:除了
uvx,也能pip install mcp-server-git后用python -m mcp_server_git运行,仓库里还给了 Docker 配置,容器里要挂载工作区目录才能看到仓库。
适合谁
- 在 Claude Desktop 里让模型帮忙读 diff、写提交信息的开发者。
- 自己写 MCP 客户端或智能体框架、需要一个干净 Git 工具层的人。
接入方式
用 uv 的 uvx 直接运行,无需单独安装,--repository 指定仓库路径:
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}
也可以 pip install mcp-server-git 后用 python -m mcp_server_git 运行,README 另有 Docker 配置。
编辑点评
已经有终端的编程智能体用不上它,直接调 git 更灵活;它的位置在没有 shell 的客户端和自建智能体里,工具粒度清楚,参数简单,作为参考实现代码也好读。注意它带写操作:可以提交、重置暂存区、切换分支,智能体切错分支或提交了不该提交的文件都要你来收拾,没有 push 工具,改动不会自动推到远程。README 说明它仍处于早期开发,工具会继续调整,目前要求 MCP Python SDK 1.x(mcp>=1.29.0,<2),往 2.0 迁移还在进行中。想让智能体读懂远程网页或文档,可以搭配 Fetch MCP Server 用,两者都是协议官方仓库里的参考实现。许可证为 MIT(MCP 项目正在整体迁移到 Apache-2.0)。