GitHub MCP Server是什么
GitHub MCP Server 是GitHub 官方推出的基于 Model Context Protocol (MCP) 的服务器工具,GitHub MCP Server能无缝集成 GitHub API,为开发者提供高级自动化和交互功能。支持开发者轻松实现自动化工作流,例如自动化处理 GitHub 仓库中的问题、Pull Request,及提取和分析仓库数据等。GitHub MCP Server 提供丰富的功能模块,包括用户管理、问题管理、Pull Request 管理、仓库管理等,帮助开发者简化繁琐的开发流程,专注于核心开发任务。
GitHub MCP Server的主要功能
- 问题管理:自动创建、更新和关闭 GitHub 问题,支持批量操作,如批量添加标签或指派人。
- Pull Request 管理:自动合并 Pull Request,更新分支,添加评论和审查意见。
- 仓库内容管理:推送文件到仓库,创建新分支,获取文件内容。
- 搜索功能:支持搜索代码片段、GitHub 用户和仓库。
- 仓库内容获取:获取特定路径下的文件或目录内容,支持特定分支、标签或提交。
- 提交记录分析:获取某个分支的提交历史,便于代码审查和版本管理。
- 智能代码审查:分析代码质量,自动生成审查评论。
- 自动化问题分类:根据问题内容自动分配标签或指派人。
- 代码扫描警报:检测代码中的潜在问题生成警报。
如何使用GitHub MCP Server
- 安装前置条件:
- 安装 Docker:安装 Docker。从 Docker 官方网站下载安装 Docker。
- 创建 GitHub 个人访问令牌:
- 登录到 GitHub 账户。
- 点击右上角的头像,选择 Settings。
- 在左侧菜单中选择 Developer settings,然后选择 Personal access tokens。
- 点击 Generate new token,选择需要的权限,生成令牌保存好。
- 配置环境:
- 在 VS Code 中使用:
- 打开 VS Code。
- 按 Ctrl + Shift + P,输入 Preferences: Open User Settings (JSON),打开用户设置文件。
- 将以下 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 中使用:
- 创建一个配置文件,例如
mcp.json
,添加以下内容:
- 创建一个配置文件,例如
-
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}
-
-
- 将 替换为 GitHub 个人访问令牌。
- 从源代码安装:
- 确保已安装 Go 语言环境。
- 克隆 GitHub MCP Server 仓库:
-
git clone https://github.com/github/github-mcp-server.git
-
-
- 进入项目目录并构建:
-
cd github-mcp-server
go build -o github-mcp-server ./cmd/github-mcp-server
-
-
- 运行服务器:
-
GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> ./github-mcp-server stdio
- 运行服务器:如果用 Docker 或从源代码构建,确保环境变量 GITHUB_PERSONAL_ACCESS_TOKEN 已正确设置。启动服务器后,基于标准输入输出与开发工具(如 VS Code 或 Claude Desktop)进行交互。
- 使用 GitHub MCP Server 的功能:
- 自动化工作流:基于配置工具,自动化处理 GitHub 问题和 Pull Request。
- 数据提取与分析:用搜索功能,快速定位代码片段、获取文件内容、分析提交记录等。
- AI 驱动工具:如果工具支持 AI 功能,用智能代码审查、自动化问题分类等功能。
GitHub MCP Server的项目地址
GitHub MCP Server的应用场景
- 自动化工作流管理:自动创建、更新和关闭 GitHub 问题(Issues),及合并 Pull Request(PR),减少手动操作,提升项目管理效率。
- 智能代码审查:基于 AI 驱动的工具自动生成代码审查意见,检测潜在问题生成警报,提升代码质量。
- 数据提取与分析:搜索代码片段、仓库和用户信息,获取文件内容和提交历史,便于快速定位资源和进行代码分析。
- 仓库内容管理:创建新仓库、复制(Fork)仓库,推送文件到指定分支,创建新分支,简化仓库管理流程。
- 开发工具集成:与 VS Code、Claude Desktop 等开发工具深度集成,支持从源代码构建,提升开发环境的自动化能力。