← 返回目录
G

Git MCP Server

社区
面向 AI Agent 的综合 Git MCP 服务器。
分类
开发工具 第 108 / 438
Stars
★ 242 非常热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Node.js 20+ · Bun 1.2+
凭据
无需凭据
许可证
Apache-2.0
最近提交
工具数
28
61FMRS · C

资料显示该项目版本为 2.15.1,采用 Apache-2.0 许可证,状态标为 Stable。它提供覆盖仓库管理、提交、历史、分支、远程和高级工作流的 28 个 Git 工具,并支持路径校验、可选目录沙箱和 JWT/OAuth。来源未证明其为上游 Git 或 MCP 官方服务器。

最强项 · 文档质量 14/20 最弱项 · 可靠性 10/20

可靠性
10/20
安全与权限
13/20
维护活跃度
11/20
文档质量
14/20
安装易用性
13/20
查看各项评分依据
可靠性 10/20
README列出28个工具、资源和提示词,并说明统一错误处理、配置校验和测试命令;但提供的材料没有实际源文件、CI工作流或测试覆盖证据,无法验证初始化、工具列表握手、运行时依赖和关键边界行为。清单还将运行时提示为Bun并使用“bun run”,而README同时主推npx/Node路径,增加了启动可复现性的不确定性,因此不超过静态上限12并扣分。
安全与权限 13/20
材料显示路径校验、可选GIT_BASE_DIR、避免shell插值、JWT/OAuth、日志审计以及对git clean和git reset --hard的显式确认机制;但HTTP默认认证模式为none,GIT_BASE_DIR是可选项,clone/fetch/pull/push及其他Git操作可能产生网络或仓库副作用,且提交签名失败会静默回退为未签名。未提供权限模型、认证配置细节或数据流边界证据,因此明显扣分;材料未显示红线风险。
维护活跃度 11/20
版本2.15.1、Apache-2.0许可、非归档状态、公开GitHub仓库、稳定状态标识、9个开放issue及后续路线图表明项目仍在维护;但材料没有提交频率、发布历史、依赖更新策略、安全响应渠道或维护者治理证据,故仅给中等分数。
文档质量 14/20
README覆盖运行时、安装、STDIO/HTTP配置、环境变量、工具分类、安全声明、响应格式、开发和测试命令,并提供客户端配置示例;但没有逐工具参数和限制、认证部署步骤、故障排查、成本/网络影响说明,也缺少可独立审查的实现证据。README中的部分配置项未出现在manifest中,造成额外不确定性。
安装易用性 13/20
提供npx和bunx两条安装路径、最低运行时版本、STDIO配置示例、HTTP端口和基本开发命令,主流客户端接入步骤较清楚;但manifest要求Bun运行时且参数为“run start:*”,与README的直接npx/bunx启动方式存在未解释差异,HTTP认证和远程部署仍需手工配置,平台兼容性证据有限。

静态评测 · 未实际运行收录于 2026-07-30

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件写入 / 删除本地文件执行命令或代码访问网络

适合谁

  • 需要通过 MCP 使用完整原生 Git CLI 能力的开发团队。
  • 需要 STDIO 或 Streamable HTTP 部署方式的本地或服务端环境。
  • 需要工作目录限制、认证、结构化日志或可选遥测的部署。

不适合谁

  • 不需要本机 Git CLI 的纯边缘运行环境;README 中的 isomorphic-git provider 仍标为计划中。
  • 需要现成 GitHub API 云端操作且不依赖本地仓库的场景;GitHub API provider 仅标为可能计划。
  • 希望自动执行破坏性清理或硬重置而无需确认的工作流。

所需权限

  • 需要访问并操作配置范围内的本地 Git 仓库和文件路径。
  • 需要本机安装 Git,因为当前 provider 使用 Git CLI。
  • 如启用 GPG/SSH 提交签名,需要相应的签名环境;签名默认启用。
  • HTTP 部署如使用 JWT 或 OAuth,需要配置对应的认证密钥或 OIDC issuer URL。

风险与副作用

  • 提交、推送、合并、变基、cherry-pick、标签和 worktree 操作可能改变仓库状态或远程内容。
  • git clean 与 git reset --hard 具有破坏性,并需要显式确认。
  • 未设置 GIT_BASE_DIR 时,操作范围可能覆盖允许访问的更大目录树。
  • HTTP 默认认证模式为 none;公开部署前应配置认证和访问控制。
  • 提交签名失败时会静默回退为未签名,并在响应中提供 signed 与 signingWarning 字段。

安装接入

准备工作

运行环境:Node.js 20+ · Bun 1.2+

MCP_AUTH_SECRET_KEY 可选密钥 使用 jwt 认证时必需的 32+ 字符密钥,属敏感信息。
其他可选配置项(20 个)
MCP_TRANSPORT_TYPE 可选 传输方式,stdio 或 http,默认 stdio。
MCP_LOG_LEVEL 可选 最低日志级别(debug/info/warn/error),默认 info。
MCP_SESSION_MODE 可选 HTTP 会话模式:stateless、stateful 或 auto。
MCP_RESPONSE_FORMAT 可选 响应格式:、markdown 或 auto。
MCP_RESPONSE_VERBOSITY 可选 响应详细程度:minimal、standard 或 full。
MCP_HTTP_PORT 可选 HTTP 服务器端口,默认 3015。
MCP_HTTP_HOST 可选 HTTP 主机名,默认 127.0.0.1。
MCP_HTTP_ENDPOINT_PATH 可选 MCP 端点路径,默认 /mcp。
MCP_AUTH_MODE 可选 认证模式:none、jwt 或 oauth,默认 none。
STORAGE_PROVIDER_TYPE 可选 存储后端:in-memory、filesystem、supabase、cloudflare-kv、r2。
OTEL_ENABLED 可选 是否启用 OpenTelemetry,默认 false。
GIT_SIGN_COMMITS 可选 是否对提交/合并/打标签启用 GPG/SSH 签名,默认 true。
GIT_AUTHOR_NAME 可选 Git 作者名,可用别名 GIT_USERNAME、GIT_USER,缺省回退全局 git 配置。
GIT_AUTHOR_EMAIL 可选 Git 作者邮箱,可用别名 GIT_EMAIL 等,缺省回退全局 git 配置。
GIT_BASE_DIR 可选 可选的绝对路径,将所有 git 操作限制在该目录树内,用于多租户沙箱。
GIT_WRAPUP_INSTRUCTIONS_PATH 可选 自定义收尾工作流说明的 markdown 文件路径。
OAUTH_ISSUER_URL 可选 使用 oauth 认证时必需的 OIDC 提供方 URL。
LOGS_DIR 可选 日志输出目录(示例配置中使用)。
GIT_USERNAME 可选 GIT_AUTHOR_NAME 的别名,设置 git 用户名。
GIT_EMAIL 可选 GIT_AUTHOR_EMAIL 的别名,设置 git 邮箱。

使用 Node.js 20.0.0 或更高版本运行 npx @cyanheads/git-mcp-server@latest;也可使用 Bun 1.2.0 或更高版本运行 bunx @cyanheads/git-mcp-server@latest。将示例配置加入 MCP 客户端配置,并按需设置环境变量。使用 HTTP 时将传输设置为 http 并配置 MCP_HTTP_PORT。

cline_mcp_settings.json
{"mcpServers":{"git-mcp-server":{"type":"stdio","command":"npx","args":["@cyanheads/git-mcp-server@latest"],"env":{"MCP_TRANSPORT_TYPE":"stdio","MCP_LOG_LEVEL":"info","GIT_BASE_DIR":"~/Developer/","LOGS_DIR":"~/Developer/logs/git-mcp-server/","GIT_USERNAME":"cyanheads","GIT_EMAIL":"[email protected]","GIT_SIGN_COMMITS":"true"}}}}

以 Cline 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "git-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@cyanheads/git-mcp-server@latest"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info",
        "GIT_BASE_DIR": "~/Developer/",
        "LOGS_DIR": "~/Developer/logs/git-mcp-server/",
        "GIT_USERNAME": "cyanheads",
        "GIT_EMAIL": "[email protected]",
        "GIT_SIGN_COMMITS": "true"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add git-mcp-server -e MCP_TRANSPORT_TYPE=stdio -e MCP_LOG_LEVEL=info -e 'GIT_BASE_DIR=~/Developer/' -e 'LOGS_DIR=~/Developer/logs/git-mcp-server/' -e GIT_USERNAME=cyanheads -e [email protected] -e GIT_SIGN_COMMITS=true -- npx @cyanheads/git-mcp-server@latest

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

启动后在 MCP 客户端的工具列表中应出现 git_status、git_add 等 28 个 git_* 工具;调用 git_status 并得到仓库分支和文件状态即证明连接成功。

常见排障

  1. 确认已安装 Node.js 20.0.0 或更高版本,或 Bun 1.2.0 或更高版本。
  2. 确认本机 Git 可用,并检查仓库路径和 GIT_BASE_DIR 是否为绝对路径及允许范围内。
  3. STDIO 配置应使用 npx 或 bunx;HTTP 配置应检查 MCP_HTTP_HOST、MCP_HTTP_PORT 和 MCP_HTTP_ENDPOINT_PATH。
  4. 启用 JWT 时检查 MCP_AUTH_SECRET_KEY 是否为至少 32 个字符;启用 OAuth 时检查 OAUTH_ISSUER_URL。
  5. 检查 MCP_LOG_LEVEL,以及 MCP_RESPONSE_FORMAT 和 MCP_RESPONSE_VERBOSITY 的设置。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 查看当前仓库的 git 状态,列出已暂存和未暂存的文件
  • 把 src/ 目录下的改动暂存并提交,提交信息为“修复登录 bug”
  • 分析本仓库最近的提交历史,帮我生成一份变更日志
  • 创建一个名为 release/v2 的新分支并切换过去

工具能力 28

git_init 写入
初始化 Git 仓库。
git_clone 写入
从远程仓库克隆项目。
git_status 只读
查看仓库状态。
git_clean 破坏性
清理未跟踪文件;需要显式确认。
git_add 写入
将更改加入暂存区。
git_commit 写入
创建 Git 提交。
git_diff 只读
比较更改。
git_log 只读
查看提交历史。
展开其余 20 个工具
git_show 只读
检查 Git 对象或提交详情。
git_blame 只读
追踪文件行的作者信息。
git_reflog 只读
查看引用日志。
git_changelog_analyze 只读
收集用于 LLM 驱动变更日志分析的 Git 上下文和指令。
git_branch 写入
管理分支。
git_checkout 写入
切换分支或上下文。
git_merge 写入
合并更改。
git_rebase 写入
执行变基操作。
git_cherry_pick 写入
应用指定提交。
git_remote 写入
配置和查看远程仓库。
git_fetch 写入
从远程获取更新。
git_pull 写入
同步并拉取远程更新。
git_push 写入
向远程发布更改。
git_tag 写入
列出、创建、删除或验证标签。
git_stash 写入
暂存工作区更改。
git_reset 破坏性
重置仓库状态;硬重置需要显式确认。
git_worktree 写入
管理 Git worktree。
git_set_working_dir 写入
设置会话工作目录。
git_clear_working_dir 写入
清除会话工作目录。
git_wrapup_instructions 只读
提供完成 Git 会话的收尾流程,包括审查、记录、提交和标签。

使用场景

让 AI Agent 检查、修改并提交 Git 仓库。
自动化分支、合并、变基、远程同步和标签流程。
在多仓库工作流中使用会话级工作目录和 worktree。
为变更日志分析收集 Git 上下文。

支持客户端

Cline

依据项目文档列出,未经本站实测。

详细介绍

@cyanheads/git-mcp-server 通过 MCP 提供原生 Git 操作,支持仓库初始化、克隆、提交、分支、合并、变基、远程同步、标签、暂存、重置和 worktree 等功能。服务器提供 STDIO 与 Streamable HTTP 传输,包含 28 个工具、1 个资源和 1 个提示。当前 Git 操作使用本机 Git CLI,并支持 Bun 与 Node.js 运行时。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 d34d83af201d 数据同步于 2026-10-19 查看 FMRS 评分方法