GitHub MCP Server
让 AI 助手通过自然语言读取 GitHub 数据并执行仓库协作操作。
- Star 数
- ★ 34k
- 最近更新
- 1 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 67/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 维护者希望在 AI 主机中搜索仓库文件、查看提交并梳理项目结构。
- 不适合
- 需要完全离线使用 GitHub 数据的团队
- 只需要只读能力且不愿配置工具权限的用户
- 源码审查
- 67/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
GitHub MCP Server 是 GitHub 提供的 MCP 服务,可让兼容的 AI 工具连接 GitHub 平台。它通过 github-mcp-server 命令、Docker 容器或 GitHub 托管的远程端点运行,并向 MCP 客户端提供工具、资源和提示。能力覆盖仓库与代码检索、Issues 和 Pull Requests、GitHub Actions、讨论、通知、团队信息及安全告警。可用工具集能通过配置限制,--read-only 模式会跳过写入工具。远程服务需要支持远程 MCP 的主机;本地部署需要 Docker 或从 Go 源码构建,并使用 OAuth 或 GitHub Personal Access Token 认证。
MCP 客户端连接远程 https://api.githubcopilot.com/mcp/ 端点,或启动本地 github-mcp-server;服务以 OAuth 或 GITHUB_PERSONAL_ACCESS_TOKEN 认证后调用 GitHub API。客户端可以查询仓库文件、目录和提交,管理 Issues、Pull Requests、讨论与 Gists,查看 Actions 工作流和运行记录,读取 Dependabot 与代码扫描告警,也可按启用工具执行写入或工作流触发操作。服务将结果作为 MCP 工具响应返回,并在支持的协议版本中为部分工具提供结构化输出。
- 维护者希望在 AI 主机中搜索仓库文件、查看提交并梳理项目结构。
- 项目团队希望用自然语言创建或更新 Issues、Pull Requests 和讨论评论。
- CI 负责人需要检查 Actions 工作流运行、作业日志、构建失败和制品。
- 安全团队需要查询 Dependabot、代码扫描或安全公告相关信息。
- GitHub 管理员需要查看团队成员、组织信息、规则集或自定义属性。
如何安装或部署这个 Agent?
可使用 GitHub 托管的远程服务器,或自行运行本地版本。远程连接需要兼容的 MCP 主机;本地容器方式需要已安装并运行的 Docker。GitHub.com 上可通过浏览器 OAuth 登录,也可配置 PAT;使用 PAT 时,将其作为 GITHUB_PERSONAL_ACCESS_TOKEN 提供。
远程服务器的 VS Code 配置:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}本地 Docker 配置示例:
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"127.0.0.1:8085:8085",
"-e",
"GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
}也可从检出目录构建 Go 二进制:
go build -o github-mcp-server ./cmd/github-mcp-server如何使用这个 Agent?
将服务器配置加入支持 MCP 的主机,然后在主机中启动 GitHub 服务。VS Code 的远程方式要求 1.101 或更高版本;完成配置后,在 Copilot Chat 中切换到 Agent 模式。可用 GITHUB_TOOLSETS 或 --toolsets 控制工具集,也可用 GITHUB_TOOLS 或 --tools 指定工具;未指定时默认启用 context、repos、issues、pull_requests 和 users。
本地 PAT 认证配置示例:
{
"mcp": {
"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}"
}
}
}
}
}从源码构建后,可通过 github-mcp-server stdio 启动;按需提供 PAT 和工具集配置。
这个 Agent 有哪些优点和局限?
- 同一服务提供远程托管和本地运行方式,并支持 OAuth 或 PAT 认证。
- 工具集可按需启用,且可单独指定工具;支持只读模式。
- 覆盖仓库、协作、Actions、组织与多类 GitHub 安全能力。
- 支持 GitHub Enterprise Server 和 ghe.com 的本地配置。
- 实际操作范围取决于 OAuth 或 PAT 授予的权限,配置不足会限制可用能力。
- 远程服务器需要支持远程 MCP 的客户端;GitHub Enterprise Server 不支持远程服务器托管。
- 本地容器需要 Docker;源码构建和运行需要 Go 环境。
- 许多主机的 OAuth 接入需要主机侧配置 GitHub App 或 OAuth App,具体方式因主机而异。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| GitHub MCP Server 当前 | 67 · 存在缺口 | MCP 服务器免费 | ★ 34k | 1 天前 | Go | Codex · Claude Code |
| Helmor 本地多智能体工作台 | 52 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 1.3k | 2 个月前 | TypeScript | Codex · Claude Code |
| TAKT 工作流编排器 | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.4k | 今天 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Loop Engineering | 69 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 12k | 今天 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档建议按需缩小 PAT 权限、支持只读模式与工具集白名单,并说明本地 OAuth 令牌仅保存在内存;这些证据支持最小权限与敏感信息处理得当,但远程托管服务的数据处理细节有限,故未给满分。写入能力(如创建仓库、推送文件、触发工作流)有文档说明,却未显示统一的逐次用户确认机制;外部影响和回滚也缺少通用保障说明,因此相应分数偏低。依赖只列于 go.mod,未提供本材料中的安全审计或缓解证据。README、LICENSE 与 SECURITY.md 清楚表明 GitHub 归属、MIT 许可及漏洞披露路径,来源归属得满分。
README、安装指南与配置说明覆盖多种接入路径和故障排查,但提供的材料出现可能不一致或不完整的细节:例如模块路径说明提及尚未发布的修正,安装文档中的令牌变量和配置示例也不完全统一。因此一致性仅得部分分。go.mod 固定了直接依赖版本,但没有可用性或故障降级证据。Claude 与 Cline 指南给出若干具体现象、原因和处理步骤,仍不足以证明所有路径的错误反馈都充分。此静态审查不评价运行结果。
文档明确面向开发者、AI 助手和多类 MCP 主机,并列出仓库、议题、PR、Actions、安全分析等场景,场景覆盖充分。工具集、单工具配置、只读模式、远程/本地部署及企业主机支持体现了可配置边界;不过材料未完整列出能力权限矩阵,部分主机行为也依赖其自身支持。README 对 MCP 主机、版本和传输前提有说明,多个平台指南提供专属配置与限制,环境适配较充分。
README 将远程与本地安装、认证、工具配置和构建分区,另有专门指南;结构有用但篇幅长且内容重复。安装说明包含前置条件、配置示例和排错,表现充分。工具名、参数和版本路径有一定说明,但不同主机示例及旧名兼容提示显示稳定性说明并非处处统一。示例与 FAQ/故障排查覆盖面较广。文档明示 Claude Desktop 远程连接限制等已知问题,但局限说明不构成完整清单。LICENSE 明确为 MIT;README 说明版本标识和模块路径,但本材料没有完整发布日志。SECURITY.md、README 及给定的官方组织来源证据清楚说明维护归属和安全报告路径。
服务器将 GitHub API 能力提供给 MCP 工具,README 所列的仓库、议题、PR、工作流和协作场景体现了明显的边际价值。工具集和单工具过滤可控制上下文规模,但默认工具集及不同权限配置的成本收益没有在所给材料中完整展开。输出涵盖配置示例与用途说明,具有可操作性;没有足够材料评估工具结果格式在各种任务中的实际可用性。
README 的功能与安装主张在多个主机安装指南中有部分对应,LICENSE 和 SECURITY.md 对许可及报告方式提供交叉支持;但材料不含实现代码或工具定义,许多功能与安全主张无法从代码层追溯。跨来源印证有一定程度,但多个指南复述相同说明,不能视为独立验证。文档能区分前提、限制和建议,但部分安全与兼容性表述仍是说明性主张而非本材料中可独立验证的事实,因此未给满分。
- 该服务器具有可写 GitHub 能力;部署前应启用只读模式或只开放所需工具集,并将 PAT 权限限制在实际任务所需范围。
- 本次材料未包含实现代码或运行证据,无法核实具体工具行为、远程服务的数据处理细节或实际错误处理。
常见问题
使用远程服务器还是本地服务器?
必须使用 Personal Access Token 吗?
GITHUB_PERSONAL_ACCESS_TOKEN 后则使用 PAT,且 PAT 优先于 OAuth。如何限制 AI 工具能执行的操作?
--toolsets 或 GITHUB_TOOLSETS 选择能力组,通过 --tools 或 GITHUB_TOOLS 指定工具;--read-only 会跳过写入工具。它能连接 GitHub Enterprise Server 的远程端点吗?
--gh-host 或 GITHUB_HOST 指定企业主机。