Back to MCP directory
publicPublicdnsLocal runtime

github-mcp-server-s7g

GitHub MCP服务提供了一套完整的GitHub API操作工具,支持文件管理、仓库操作、搜索功能和工作流管理等核心功能。

article

README

🚀 GitHub MCP 服务器

GitHub MCP(模型上下文协议)服务器提供了一系列与 GitHub 平台交互的功能,可用于代码搜索、问题管理、用户信息查询以及工作流程操作,极大地提升了开发者在 GitHub 上的工作效率。

🚀 快速开始

若要使用 GitHub MCP 服务器,需先创建 GitHub 个人访问令牌,再根据自身需求选择 Docker 或 NPX 进行配置。详细步骤如下:

个人访问令牌

创建一个 GitHub 个人访问令牌,以获取对仓库的完整控制权限:

  1. 访问 Personal access tokens(在 GitHub 设置 > 开发者设置中)。
  2. 选择所需的仓库访问权限(公共、所有或指定)。
  3. 创建一个具有 repo 权限的令牌(如果仅处理公开仓库,则可以选择 public_repo 权限)。
  4. 复制生成的令牌。

使用说明

Docker 配置

~/.cursor/mcp_config.json~/.windsurf/mcp_config.json 中添加以下配置:

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

NPX 配置

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": [
        "-e",
        "const mcp = require('mcp'); mcp.start();"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

✨ 主要特性

API 方法

仓库和 Pull Request 操作

  • 创建/更新 Issue 或 Pull Request:可发布或更新一个问题或拉取请求。
  • 评论 Issue 或 Pull Request:能在指定的问题或拉取请求上发布评论。
  • 获取 Issue 或 Pull Request 的详细信息:可查看问题或拉取请求的完整信息,包括标题、描述和状态。
  • 获取 Issue 或 Pull Request 的历史记录:可查看问题或拉取请求的历史修改记录。

代码搜索

  • 搜索代码片段:可根据语言、路径和扩展名等条件在特定仓库中搜索代码片段。

工作流程操作

  • 触发工作流程运行:能触发 GitHub Actions 工作流程的运行。
  • 获取工作流程运行状态:可查看工作流程运行的状态和结果。

用户和组织信息查询

  • 获取用户或组织的信息:可获取特定用户的个人资料信息或组织的详细信息。

搜索语法

代码搜索

  • language:javascript:根据编程语言筛选。
  • repo:owner/name:在指定仓库中搜索。
  • path:app/src:在指定路径下搜索。
  • extension:js:根据文件扩展名筛选。
  • 示例:q: "import express" language:typescript path:src/

问题搜索

  • is:issueis:pr:根据类型筛选(问题或拉取请求)。
  • is:openis:closed:根据状态筛选。
  • label:bug:根据标签筛选。
  • author:username:根据作者筛选。
  • 示例:q: "memory leak" is:issue is:open label:bug

用户搜索

  • type:usertype:org:根据账户类型筛选。
  • followers:>1000:根据关注者数量筛选。
  • location:London:根据地理位置筛选。
  • 示例:q: "fullstack developer" location:London followers:>100

有关详细搜索语法,请参考GitHub 的搜索文档

💻 使用示例

基础用法

创建 Issue

{
  "标题": "新功能请求",
  "描述": "请实现新功能...",
  "状态": "已打开"
}

触发工作流程运行

{
  "仓库所有者": "username",
  "仓库名称": "repo-name",
  "分支": "main",
  "commit_message": "触发工作流程"
}

🔧 技术细节

建议的构建命令

docker build -t mcp/github .

环境变量配置

以下是运行 GitHub MCP 服务器所需的环境变量:

  • GITHUB_PERSONAL_ACCESS_TOKEN:必须设置为您的 GitHub 个人访问令牌。
  • PORT (可选):设置服务监听的端口,默认为 3000。

📄 许可证

本项目遵循 MIT 许可证,具体内容请参考 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client