README
🚀 GitHub MCP 服务器
GitHub MCP(模型上下文协议)服务器提供了一系列与 GitHub 平台交互的功能,可用于代码搜索、问题管理、用户信息查询以及工作流程操作,极大地提升了开发者在 GitHub 上的工作效率。
🚀 快速开始
若要使用 GitHub MCP 服务器,需先创建 GitHub 个人访问令牌,再根据自身需求选择 Docker 或 NPX 进行配置。详细步骤如下:
个人访问令牌
创建一个 GitHub 个人访问令牌,以获取对仓库的完整控制权限:
- 访问 Personal access tokens(在 GitHub 设置 > 开发者设置中)。
- 选择所需的仓库访问权限(公共、所有或指定)。
- 创建一个具有
repo权限的令牌(如果仅处理公开仓库,则可以选择public_repo权限)。 - 复制生成的令牌。
使用说明
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:issue或is:pr:根据类型筛选(问题或拉取请求)。is:open或is:closed:根据状态筛选。label:bug:根据标签筛选。author:username:根据作者筛选。- 示例:
q: "memory leak" is:issue is:open label:bug
用户搜索
type:user或type: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 文件。
Scan to join WeChat group