GitHubMCPServer–GitHub推出基于MCP的服务器工具

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 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 配置添加到文件中:
{
    "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": "<YOUR_TOKEN>"
            }
        }
    }
}
      • 将 <YOUR_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仓库:https://github.com/github/github-mcp-server

GitHub MCP Server的应用场景

  • 自动化工作流管理:自动创建、更新和关闭 GitHub 问题(Issues),及合并 Pull Request(PR),减少手动操作,提升项目管理效率。
  • 智能代码审查:基于 AI 驱动的工具自动生成代码审查意见,检测潜在问题生成警报,提升代码质量。
  • 数据提取与分析:搜索代码片段、仓库和用户信息,获取文件内容和提交历史,便于快速定位资源和进行代码分析。
  • 仓库内容管理:创建新仓库、复制(Fork)仓库,推送文件到指定分支,创建新分支,简化仓库管理流程。
  • 开发工具集成:与 VS Code、Claude Desktop 等开发工具深度集成,支持从源代码构建,提升开发环境的自动化能力。

相关文章