项目简介

GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供访问 GitHub API 的标准化接口。通过此服务器,LLM 可以安全、可扩展地与 GitHub 进行交互,实现代码库管理、文件操作、问题追踪、项目管理等自动化任务。

主要功能点

  • 代码库操作: 创建、搜索、Fork 代码仓库。
  • 文件操作: 创建、更新、获取仓库文件内容,批量推送文件。
  • 议题管理: 创建、搜索、列出、更新、删除议题,添加议题评论。
  • 拉取请求管理: 创建、获取、列出拉取请求,创建拉取请求审查,合并拉取请求,获取拉取请求文件列表、状态、评论和审查。
  • 分支管理: 创建分支。
  • 代码搜索: 跨 GitHub 代码仓库进行代码搜索。
  • 用户搜索: 搜索 GitHub 用户。
  • 提交记录: 列出代码仓库的提交记录。
  • 项目管理 (Projects Classic & Projects V2): 创建、获取、更新、列出项目,管理项目列和卡片,支持 GitHub 新一代 Projects V2 (beta) 功能。
  • 全面的错误处理: 提供清晰的 GitHub API 错误信息。

安装步骤

你可以选择使用 Docker 镜像或 NPX 运行 GitHub MCP Server。

1. Docker 安装 (推荐)

确保你已安装 Docker。使用以下命令运行 Docker 镜像:

docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> ghcr.io/tuanle96/mcp-github

2. NPX 安装

确保你已安装 Node.js 和 npm。使用 NPX 直接运行 npm 包:

npx -y @earnbasejs/mcp-github GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN>

注意: '<YOUR_TOKEN>' 需要替换为你自己的 GitHub Personal Access Token。创建 Token 时,请根据需要授予 'repo' 和 'project' (如果使用 Projects V2 工具) 权限。

服务器配置

为了让 MCP 客户端 (例如 Claude Desktop) 连接到 GitHub MCP Server,你需要配置服务器的启动命令和参数。以下是针对 Docker 和 NPX 两种安装方式的配置示例,你需要将它们添加到 MCP 客户端的配置文件中 (通常是 JSON 格式)。

Docker 配置示例:

{
  "mcpServers": {
    "github": {
      "command": "docker", // 启动命令,这里使用 docker
      "args": [ // 启动参数
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN", // 环境变量,用于传递 GitHub Personal Access Token
        "ghcr.io/tuanle96/mcp-github" // Docker 镜像名称
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" //  请替换为你的 GitHub Personal Access Token
      }
    }
  }
}

NPX 配置示例:

{
  "mcpServers": {
    "github": {
      "command": "npx", // 启动命令,这里使用 npx
      "args": [ // 启动参数
        "-y",
        "@earnbasejs/mcp-github" // npm 包名称
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" //  请替换为你的 GitHub Personal Access Token
      }
    }
  }
}

请务必将 '<YOUR_TOKEN>' 替换为你自己的 GitHub Personal Access Token。

基本使用方法

配置完成后,LLM 客户端将能够识别并连接到 GitHub MCP Server。你可以通过客户端提供的界面或指令,选择并调用服务器提供的各种工具,例如:

  • 使用 'create_issue' 工具在指定的 GitHub 仓库中创建新的 issue。
  • 使用 'search_code' 工具搜索 GitHub 上的代码。
  • 使用 'get_file_contents' 工具获取 GitHub 仓库中文件的内容。

工具的具体输入参数和返回结果请参考服务器提供的工具列表和工具描述。

信息

分类

开发者工具