Token导航 LogoToken导航TokenDH.com
Git MCP Server Rust logo
AI代理未说明官方级别未说明来源级核验

Git MCP Server Rust

MCP Server

一个高性能的Rust版Git MCP Server,为AI代理提供完整的Git操作能力,适用于代码管理和版本控制场景。

工具数

28

提示词数

0

GitHub Stars

1

资源数

0
版本控制RustClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

QiuZH001

提供方

QiuZH001

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Git MCP Server (Rust)

一个高性能的 Rust 版 Git MCP Server,为 AI 代理提供完整的 Git 操作能力。

特性

  • 28 个 Git 工具 - 覆盖所有常用 Git 操作 + changelog 分析 + wrap-up 指令
  • STDIO / HTTP 传输 - 支持 STDIO 与 streamable-http 风格单端点
  • 会话工作目录 - 支持动态切换项目目录
  • MCP Resources / Prompts - 支持 resources/list|readprompts/list|get
  • 安全路径验证 - 可配置的基础目录限制
  • 高性能 - Rust 实现,单二进制部署

安装

方式一:从源码构建

# 克隆仓库
git clone https://github.com/QiuZH001/git-mcp-server-rust.git
cd git-mcp-server-rust

# 构建 release 版本
cargo build --release

# 二进制文件位置
./target/release/git-mcp-server

方式二:直接下载

# 下载预编译二进制(如果可用)
# 或复制已编译的二进制到任意位置
cp ./target/release/git-mcp-server /usr/local/bin/

前置要求

  • Rust 1.70+(仅从源码构建时需要)
  • Git 2.0+
  • 系统:macOS / Linux / Windows

配置

环境变量

变量描述默认值示例
GIT_BASE_DIR限制操作的基础目录无(任意目录)/Users/you/projects
GIT_USERNAMEGit 提交者名称全局 git configJohn Doe
GIT_EMAILGit 提交者邮箱全局 git configjohn@example.com
GIT_SIGN_COMMITS启用提交签名falsetrue
GIT_WRAPUP_INSTRUCTIONS_PATH自定义 wrap-up 指令文件路径/path/to/wrapup.md
MCP_LOG_LEVEL日志级别infodebug, warn, error
MCP_TRANSPORT_TYPE传输类型stdiohttp
MCP_HTTP_HOSTHTTP 监听地址127.0.0.1127.0.0.1
MCP_HTTP_PORTHTTP 监听端口30153015
MCP_HTTP_ENDPOINT_PATHHTTP MCP 端点路径/mcp/mcp
MCP_AUTH_MODEHTTP 认证模式nonenone, jwt, oauth
MCP_AUTH_SECRET_KEYJWT(HS256) 密钥(jwt 模式)your-secret
OAUTH_ISSUER_URLOAuth issuer(oauth 模式)https://issuer.example
OAUTH_AUDIENCEOAuth audience(oauth 模式)git-mcp-server
OAUTH_PUBLIC_KEY_PEMOAuth RS256 公钥 PEM(oauth 模式)-----BEGIN PUBLIC KEY-----...
MCP_ALLOWED_ORIGINS允许的 Origin 白名单(逗号分隔)https://a.com,https://b.com
MCP_SESSION_MODEHTTP 会话模式autostateless, stateful
MCP_RESPONSE_FORMATtools/call 文本输出格式jsonjson, markdown, auto
MCP_RESPONSE_VERBOSITYtools/call 输出详略standardminimal, standard, full

MCP 客户端配置

Claude Code

编辑 ~/.claude/claude_desktop_config.json

{
  "mcpServers": {
    "git": {
      "command": "/path/to/git-mcp-server",
      "env": {
        "GIT_BASE_DIR": "/Users/yourname/projects",
        "GIT_USERNAME": "Your Name",
        "GIT_EMAIL": "your@email.com"
      }
    }
  }
}

Cursor

编辑 ~/.cursor/mcp.json

{
  "mcpServers": {
    "git": {
      "command": "/path/to/git-mcp-server",
      "env": {
        "GIT_BASE_DIR": "/Users/yourname/projects"
      }
    }
  }
}

Windsurf

编辑 Windsurf 配置文件:

{
  "mcpServers": {
    "git": {
      "command": "/path/to/git-mcp-server",
      "args": [],
      "env": {
        "GIT_BASE_DIR": "/home/user/code"
      }
    }
  }
}

OpenCode

编辑 opencode MCP 配置:

{
  "mcpServers": {
    "git": {
      "command": "/path/to/git-mcp-server",
      "env": {
        "GIT_BASE_DIR": "/path/to/your/projects",
        "MCP_LOG_LEVEL": "debug"
      }
    }
  }
}

工具列表

仓库管理

工具描述关键参数
git_init初始化新仓库path, initial_branch, bare
git_clone克隆远程仓库url, local_path, branch, depth
git_status查看工作区状态path, include_untracked
git_clean删除未跟踪文件force, dry_run, directories

暂存与提交

工具描述关键参数
git_add暂存文件files, all, update, force
git_commit创建提交message, amend, files_to_stage, no_verify
git_diff查看差异target, source, staged, stat

历史查询

工具描述关键参数
git_log查看提交历史max_count, author, since, until, grep
git_show显示对象详情object, format, stat
git_blame逐行追溯file, start_line, end_line
git_reflog引用日志ref, max_count

分支操作

工具描述关键参数
git_branch分支管理operation, name, force, all
git_checkout切换分支/恢复target, create_branch, force
git_merge合并分支branch, no_fast_forward, squash
git_rebase变基操作upstream, mode, interactive
git_cherry_pick摘取提交commits, no_commit

远程操作

工具描述关键参数
git_remote远程仓库管理mode, name, url
git_fetch获取远程更新remote, prune, tags
git_pull拉取并合并remote, branch, rebase
git_push推送到远程remote, branch, force, tags

高级操作

工具描述关键参数
git_tag标签管理mode, tag_name, message, annotated
git_stash暂存区管理mode, message, stash_ref
git_reset重置 HEADmode, target, confirmed
git_worktree工作树管理mode, worktree_path, branch
git_set_working_dir设置会话目录path
git_clear_working_dir清除会话目录confirm
git_changelog_analyze提供 changelog 分析上下文与指令path, reviewTypes, maxCommits, sinceTag, branch
git_wrapup_instructions返回收尾流程指令与当前状态acknowledgement, updateAgentMetaFiles, createTag

MCP 方法

支持以下 MCP / JSON-RPC 方法:

  • initialize
  • tools/list
  • tools/call
  • resources/list
  • resources/read
  • prompts/list
  • prompts/get

Resources

  • git://working-directory:返回当前会话工作目录

Prompts

  • git_wrapup:Git 收尾工作流提示词模板(支持参数)

使用示例

示例 1:初始化并提交

AI: 帮我在 /projects/my-app 初始化一个 git 仓库并做第一次提交

1. 使用 git_init 初始化仓库
2. 使用 git_add 添加所有文件
3. 使用 git_commit 创建初始提交

示例 2:查看项目状态

AI: 查看当前项目的 git 状态

使用 git_status 查看分支、暂存文件、未跟踪文件等

示例 3:创建功能分支

AI: 创建一个名为 feature/login 的分支并切换过去

1. git_branch 创建分支
2. git_checkout 切换分支

示例 4:查看提交历史

AI: 查看最近 10 条提交记录

使用 git_log 并设置 max_count=10

示例 5:推送代码

AI: 将当前分支推送到 origin

使用 git_push,设置 remote=origin, branch=当前分支

工作目录管理

设置工作目录

在执行任何 Git 操作前,建议先设置工作目录:

使用 git_set_working_dir 设置项目路径
参数: { "path": "/path/to/your/project" }

清除工作目录

使用 git_clear_working_dir 清除会话中的工作目录设置
参数: { "confirm": "Y" }

安全特性

路径限制

设置 GIT_BASE_DIR 后,所有操作将被限制在该目录及其子目录内:

{
  "env": {
    "GIT_BASE_DIR": "/Users/you/safe-projects"
  }
}

尝试访问 GIT_BASE_DIR 外的路径将返回错误。

危险操作确认

以下操作需要明确确认:

  • git_reset (hard 模式) - 需要 confirmed: true
  • git_clean - 需要 force: true
  • git_push --force - 需要 force: true

故障排除

常见问题

Q: 服务器启动后无响应

确保使用 STDIO 传输模式,检查日志输出:

MCP_LOG_LEVEL=debug ./git-mcp-server

Q: Git 操作失败 "command not found"

确保系统已安装 Git 并在 PATH 中:

which git

Q: 权限被拒绝

检查 GIT_BASE_DIR 配置和文件系统权限。

Q: 中文文件名乱码

确保系统 locale 设置正确:

export LANG=en_US.UTF-8

调试模式

启用详细日志:

{
  "env": {
    "MCP_LOG_LEVEL": "debug"
  }
}

开发

运行测试

# 运行所有测试
cargo test

# 运行单个测试
cargo test test_git_status

# 带输出运行
cargo test -- --nocapture

代码检查

cargo clippy
cargo fmt -- --check

与 TypeScript 版本对比

特性Rust 版本TypeScript 版本
性能更快(编译型)较慢(解释型)
部署单二进制需要 Node.js
内存更低较高
启动时间毫秒级秒级
依赖无运行时依赖npm 依赖

许可证

Apache-2.0

相关链接

目录标签

目录标签

版本控制RustClaudeGit操作本地部署Rust开发AI代理高性能服务器

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

28

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP