
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 API 的无缝集成
- 提供多种工具用于管理 GitHub 仓库、问题、拉取请求等
- 支持 GitHub Enterprise Server
- 支持国际化描述覆盖
适用场景
- 自动化 GitHub 工作流和流程
- 从 GitHub 仓库提取和分析数据
- 构建与 GitHub 生态系统交互的 AI 工具和应用程序
工具列表
- 用户工具
-
get_me: 获取认证用户的详细信息
-
问题工具
- get_issue: 获取仓库中问题的内容
- get_issue_comments: 获取问题的评论
- create_issue: 创建新问题
- 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: 创建新拉取请求
-
update_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: 列出仓库的代码扫描警报
常见问题解答
-
如何设置 GitHub Enterprise Server? 使用
--gh-host
标志或设置GH_HOST
环境变量来指定 GitHub Enterprise Server 主机名 -
如何覆盖工具描述? 创建
github-mcp-server-config.json
文件或使用GITHUB_MCP_
前缀的环境变量
使用教程
使用依赖
- 安装 Docker
- 创建 GitHub 个人访问令牌
安装教程
使用 VS Code
- 使用 README 顶部的一键安装按钮
- 或手动添加以下 JSON 配置到用户设置 (JSON) 文件:
{
"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