
GitHub MCP Server

2025.03.19
0
GoGitHub 交互代码管理自动化工具开发效率交流协作
GitHub MCP Server 是一个基于 Go 语言实现的 Model Context Protocol (MCP) 服务器,专门用于与 GitHub 平台进行交互。它通过标准化的接口,使大型语言模型(LLMs)能够访问和操作 GitHub 上的仓库、问题、拉取请求等内容。该服务器提供了全面的 GitHub API 访问能力,并支持安全控制和自动批准功能。
View on GitHub
Overview
基本能力
产品定位
GitHub MCP Server 是一个专为 GitHub 设计的 MCP 服务器,旨在通过标准化的接口使 LLMs 能够与 GitHub 进行交互。
核心功能
- 全面的 GitHub API 访问:支持仓库、拉取请求、文件、问题、分支、提交、搜索和 GitHub Actions 等多种操作。
- 安全控制:默认禁用写入权限,支持细粒度的自动批准选项。
- 便捷的设置命令:支持自动设置 AI 助手,包括自动批准和写入权限的配置。
适用场景
- 自动化 GitHub 仓库管理
- 代码审查和拉取请求处理
- 问题跟踪和评论管理
- 分支和提交操作
- 代码搜索和提交历史分析
- GitHub Actions 工作流管理
工具列表
- 仓库工具:搜索、创建、分叉仓库等。
- 拉取请求工具:创建、获取、更新拉取请求等。
- 文件工具:获取、创建或更新文件内容等。
- 问题工具:创建、列表、更新问题等。
- 分支工具:列表、创建、合并、删除分支等。
- 提交工具:获取、列表、比较提交等。
- 搜索工具:代码、问题、提交搜索等。
- GitHub Actions 工具:工作流、运行、作业管理等。
常见问题解答
- 如何启用写入权限?:使用
--write-access
标志。 - 如何自动批准工具?:使用
--auto-approve
标志指定工具列表。
使用教程
使用依赖
- GitHub 个人访问令牌(具有适当权限)
安装教程
使用预构建二进制文件
# 下载最新版本(以 linux_amd64 为例)
RELEASE="$(curl -s https://api.github.com/repos/geropl/github-mcp-go/releases/latest)"
DOWNLOAD_URL="$(echo $RELEASE | jq -r '.assets[] | select(.name | contains("linux_amd64")) | .browser_download_url')"
curl -L -o ./github-mcp-go $DOWNLOAD_URL
chmod +x ./github-mcp-go
# 设置 MCP 服务器
./github-mcp-go setup --write-access="${GITHUB_MCP_WRITE_ACCESS:-false}" --auto-approve=allow-read-only || true
rm -f ./github-mcp-go
从源代码构建
# 克隆仓库
git clone https://github.com/geropl/github-mcp-go.git
cd github-mcp-go
# 构建服务器
go build -o github-mcp-go .
调试方式
运行服务器
# 直接运行服务器(只读模式)
./github-mcp-go serve
# 启用写入权限运行服务器
./github-mcp-go serve --write-access
# 显示帮助
./github-mcp-go --help
环境变量
export GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here