GitHub MCP Server

GitHub MCP Server

site icon
2025.04.18 11539
GoGitHub 自动化开发工具开发效率交流协作
GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,提供与 GitHub API 的无缝集成,为开发者和工具提供高级自动化和交互能力。
View on GitHub

Overview

基本能力

产品定位

GitHub MCP Server 是一个为开发者提供的自动化工具,通过与 GitHub API 的集成,实现工作流程的自动化和数据交互。

核心功能

  • 自动化 GitHub 工作流程和过程
  • 从 GitHub 仓库提取和分析数据
  • 构建与 GitHub 生态系统交互的 AI 工具和应用

适用场景

  • 自动化 GitHub 工作流程
  • 数据分析和提取
  • AI 工具开发

工具列表

Users

  • get_me - 获取认证用户的详细信息

Issues

  • get_issue - 获取仓库中问题的内容
  • get_issue_comments - 获取 GitHub 问题的评论
  • create_issue - 在 GitHub 仓库中创建新问题
  • add_issue_comment - 向问题添加评论
  • list_issues - 列出和过滤仓库问题
  • update_issue - 更新 GitHub 仓库中的现有问题
  • search_issues - 搜索问题和拉取请求

Pull Requests

  • 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 - 创建新的拉取请求

Repositories

  • create_or_update_file - 在仓库中创建或更新单个文件
  • push_files - 在单个提交中推送多个文件
  • search_repositories - 搜索 GitHub 仓库
  • create_repository - 创建新的 GitHub 仓库
  • get_file_contents - 获取文件或目录的内容
  • fork_repository - 分叉仓库
  • create_branch - 创建新分支
  • list_commits - 获取仓库中分支的提交

Search

  • search_code - 在 GitHub 仓库中搜索代码
  • search_users - 搜索 GitHub 用户

Code Scanning

  • get_code_scanning_alert - 获取代码扫描警报
  • list_code_scanning_alerts - 列出仓库的代码扫描警报

常见问题解答

  • 如何设置 GitHub 个人访问令牌?
  • 如何覆盖工具描述?
  • 如何为 GitHub Enterprise Server 设置主机名?

使用教程

使用依赖

  1. 安装 Docker
  2. 创建 GitHub 个人访问令牌

安装教程

使用 VS Code

  1. 使用 README 顶部的一键安装按钮
  2. 或手动添加以下 JSON 块到 VS Code 的用户设置 (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>"
      }
    }
  }
}

从源代码构建

如果没有 Docker,可以使用 gocmd/github-mcp-server 目录中构建二进制文件,并使用 github-mcp-server stdio 命令,设置 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量为您的令牌。

调试方式

  1. 确保 Docker 已安装并运行
  2. 验证 GitHub 个人访问令牌是否正确设置
  3. 检查 VS Code 或 Claude Desktop 的配置是否正确
  4. 运行 docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server 测试服务是否正常运行

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。