Git MCP Server (Go)

Git MCP Server (Go)

site icon
2025.03.19 3
GoGit 仓库管理自动化工具开发效率
Git MCP Server (Go) 是一个基于 Go 语言编写的模型上下文协议(MCP)服务器,专门用于 Git 仓库的交互和自动化操作。该服务器通过大型语言模型提供读取、搜索和操作 Git 仓库的工具,支持多种 Git 操作,如状态查看、差异比较、提交、分支管理等。
View on GitHub

Overview

基本能力

产品定位

Git MCP Server (Go) 是一个专门用于 Git 仓库交互和自动化的 MCP 服务器,旨在通过大型语言模型简化 Git 操作流程。

核心功能

  • git_status: 显示工作树状态
  • git_diff_unstaged: 显示未暂存的更改
  • git_diff_staged: 显示已暂存的更改
  • git_diff: 显示分支或提交之间的差异
  • git_commit: 记录仓库更改
  • git_add: 添加文件内容到暂存区
  • git_reset: 取消所有暂存的更改
  • git_log: 显示提交日志
  • git_create_branch: 从可选的基础分支创建新分支
  • git_checkout: 切换分支
  • git_show: 显示提交内容
  • git_init: 初始化新的 Git 仓库
  • git_push: 推送本地提交到远程仓库(需要 --write-access 标志)
  • git_list_repositories: 列出所有可用的 Git 仓库

适用场景

  • 自动化 Git 仓库管理
  • 通过大型语言模型进行 Git 操作
  • 多仓库同时监控和操作

使用教程

使用依赖

  • Go 1.18 或更高版本
  • 系统已安装 Git

安装教程

下载预构建二进制文件

GitHub Releases 页面下载适用于您平台的预构建二进制文件。

从源代码构建

# 克隆仓库
git clone https://github.com/geropl/git-mcp-go.git
cd git-mcp-go

# 构建服务器
go build -o git-mcp-go .

使用 go install 安装

go install github.com/geropl/git-mcp-go@latest

调试方式

启动服务器

# 使用详细日志运行
./git-mcp-go serve -v /path/to/repo1 /path/to/repo2 /path/to/repo3

# 使用 go-git 实现运行
./git-mcp-go serve --mode go-git -r=/path/to/repo1,/path/to/repo2

# 启用远程操作的写权限
./git-mcp-go serve -r=/path/to/repo1,/path/to/repo2 --write-access

设置命令

# 为 Cline 设置单个仓库
./git-mcp-go setup -r /path/to/git/repository

# 设置多个仓库
./git-mcp-go setup /path/to/repo1 /path/to/repo2 /path/to/repo3

# 启用写权限设置
./git-mcp-go setup -r=/path/to/repo1,/path/to/repo2 --write-access

# 自动批准只读工具
./git-mcp-go setup -r=/path/to/repo1,/path/to/repo2 --auto-approve=allow-read-only

许可证

该项目遵循 MIT 开源许可条款。