
GitHub MCP Server

2025.04.14
0
GoGitHub 自动化开发工具开发效率
GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,提供与 GitHub API 的无缝集成,为开发者和工具提供高级自动化和交互能力。
View on GitHub
Overview
基本能力
产品定位
GitHub MCP Server 旨在通过 MCP 协议提供对 GitHub API 的高级访问和自动化能力,帮助开发者更高效地管理和操作 GitHub 资源。
核心功能
- 提供对 GitHub API 的全面访问
- 支持自动化 GitHub 工作流和流程
- 支持从 GitHub 仓库提取和分析数据
- 支持构建与 GitHub 生态系统交互的 AI 工具和应用程序
适用场景
- 自动化 GitHub 工作流
- 数据提取和分析
- AI 工具开发
- 代码扫描和警报管理
工具列表
- 用户工具
-
get_me: 获取认证用户的详细信息
-
问题工具
- get_issue: 获取仓库中问题的内容
- create_issue: 在 GitHub 仓库中创建新问题
- add_issue_comment: 向问题添加评论
- list_issues: 列出和筛选仓库问题
- update_issue: 更新现有问题
-
search_issues: 搜索问题和拉取请求
-
拉取请求工具
- get_pull_request: 获取特定拉取请求的详细信息
- list_pull_requests: 列出和筛选仓库拉取请求
- merge_pull_request: 合并拉取请求
- get_pull_request_files: 获取拉取请求中更改的文件列表
- get_pull_request_status: 获取拉取请求的所有状态检查的合并状态
- update_pull_request_branch: 用基础分支的最新更改更新拉取请求分支
- get_pull_request_comments: 获取拉取请求的评论
- get_pull_request_reviews: 获取拉取请求的审查
- create_pull_request_review: 在拉取请求上创建审查
-
create_pull_request: 创建新拉取请求
-
仓库工具
- create_or_update_file: 在仓库中创建或更新单个文件
- push_files: 在单个提交中推送多个文件
- search_repositories: 搜索 GitHub 仓库
- create_repository: 创建新 GitHub 仓库
- get_file_contents: 获取文件或目录的内容
- fork_repository: 分叉仓库
- create_branch: 创建新分支
-
list_commits: 获取仓库分支的提交
-
搜索工具
- search_code: 跨 GitHub 仓库搜索代码
-
search_users: 搜索 GitHub 用户
-
代码扫描工具
- get_code_scanning_alert: 获取代码扫描警报
- list_code_scanning_alerts: 列出仓库的代码扫描警报
常见问题解答
- 如何安装?
- 使用 Docker 运行容器
-
需要创建 GitHub 个人访问令牌
-
如何配置?
-
可以通过 JSON 配置文件或环境变量覆盖工具描述
-
支持 GitHub Enterprise Server 吗?
- 支持,通过
--gh-host
标志或GH_HOST
环境变量设置主机名
使用教程
使用依赖
- 安装 Docker: Docker 安装指南
- 创建 GitHub 个人访问令牌: 创建令牌
安装教程
使用 VS Code
- 点击 README 顶部的一键安装按钮
- 或手动添加以下 JSON 配置到 VS Code 用户设置
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
使用 Claude Desktop
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
从源代码构建
cd cmd/github-mcp-server
go build
GITHUB_PERSONAL_ACCESS_TOKEN=your_token ./github-mcp-server stdio
调试方式
- 检查 Docker 容器是否正常运行
- 验证 GitHub 个人访问令牌是否正确设置
- 使用
--export-translations
标志导出当前翻译以检查配置
./github-mcp-server --export-translations
cat github-mcp-server-config.json