← 返回目录
I

io.github.cyanheads/git-mcp-server

社区
面向 AI Agent 的综合 Git MCP 服务器。
GitHub 源仓库 ↗
★ 229 Stars 分类 · 开发工具 非常热门
61FMRS · C
可靠性
10/20
安全与权限
13/20
维护活跃度
11/20
文档质量
14/20
安装易用性
13/20

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

查看 FMRS 评分方法 →

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

工具能力

git_init
初始化 Git 仓库。
git_clone
从远程仓库克隆项目。
git_status
查看仓库状态。
git_clean
清理未跟踪文件;需要显式确认。
git_add
将更改加入暂存区。
git_commit
创建 Git 提交。
git_diff
比较更改。
git_log
查看提交历史。
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 会话的收尾流程,包括审查、记录、提交和标签。

安装接入

使用 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。

claude_desktop_config.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"}}}}

选型与风险

适合谁

  • 需要通过 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 字段。

常见排障

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

支持客户端

Cline完整支持