AI 编程教程中文版
官方教程中文版MCP 与外部工具

GitHub MCP Server

配置和使用 GitHub 官方维护的 MCP server,让 Copilot 读取和操作 GitHub 上下文。

GitHub MCP Server 是 GitHub 官方提供并维护的 MCP server。它让 Copilot 在 IDE Chat 里通过 GitHub 工具理解仓库、issue、PR 和其他 GitHub 对象。

GitHub 中心团队优先从这个 server 开始接 MCP——它是官方维护、支持 OAuth、覆盖最常用 GitHub 上下文。但不要把所有 toolsets 默认开给所有人:toolsets 越多,agent 可执行的动作越多,意外路径也越多。

1. 它能做什么

官方 “Using the GitHub MCP Server in your IDE” 页面给出的典型动作包括:创建 issue、列出 pull requests、读取 repository information。实际可用工具取决于你启用的 toolsets、你的 GitHub 权限、组织策略和对应功能的订阅要求。

flowchart TD
    Prompt["在 Agent mode 提问"] --> Tools["Configure tools"]
    Tools --> GitHub["GitHub MCP Server"]
    GitHub --> Repo["repos"]
    GitHub --> Issues["issues"]
    GitHub --> PR["pull_requests"]
    GitHub --> More["actions / security / copilot 等可选 toolsets"]
    Repo --> Result["基于真实 GitHub 上下文回答或执行"]
    Issues --> Result
    PR --> Result
    More --> Result

    style GitHub fill:#dcfce7,stroke:#16a34a,stroke-width:2px
    style More fill:#fef3c7,stroke:#d97706,stroke-width:2px

2. VS Code 里怎么装

GitHub 官方设置页给出的 VS Code 路径很直接:

  1. 打开 Extensions。
  2. 搜索 @mcp github
  3. 选择 GitHub MCP server 并安装。
  4. 启动时确认信任。
  5. 用 Command Palette 运行 MCP: List Servers,确认 GitHub server 已列出。

之后在 Copilot Chat 中选择 Agent mode,打开工具列表,展开 GitHub MCP server,就能看到可用工具。

3. 远程 server 与认证

远程 GitHub MCP server 的常见配置 URL 是:

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

官方文档说明,远程 GitHub MCP server 默认使用一键 OAuth,也可以手动配置 PAT。区别是:

  • OAuth:server 只能访问登录时批准的 scopes;组织上下文还会受管理员策略限制。
  • PAT:server 具备 PAT 授予的 scopes,也会受组织 PAT restriction 限制。

如果是 Enterprise Managed User,PAT 默认禁用,除非企业管理员启用。

4. Toolsets 怎么选

GitHub MCP Server 默认启用 reposissuespull_requests。官方 toolsets 文档说明还可以启用 actionscode_securitysecret_protection 等,也可以用 all 启用所有 toolsets。

商业项目不建议直接用 all。推荐分层:

  • 日常查询:reposissuespull_requests
  • CI 排障:再加 actions
  • 安全工作流:再加 code_securitysecret_protection
  • Cloud Agent 操作:只在明确需要时加 copilot

每加一个 toolset,都要补一个真实验证任务。

5. 使用时的验收方式

不要只看 Copilot 的自然语言回答。至少检查:

  • 工具列表中 GitHub server 是否启用。
  • Copilot 是否说明它读取了哪个 repo、issue 或 PR。
  • 需要写操作时是否出现授权或确认提示。
  • 结果是否能在 GitHub 页面上复核。
  • 失败时能否从 server output log 看到错误。
深读:GitHub MCP Server 不等于 GitHub 全权限

MCP server 只是把 GitHub 能力暴露成工具。真正能做什么,仍然由账号权限、OAuth scopes、PAT scopes、组织策略、功能订阅和启用的 toolsets 决定。

同一个 prompt,在个人账号、组织账号、Enterprise Managed User、不同 IDE 里可能得到不同工具列表。

本章自检

  1. GitHub server 是否来自官方来源或可信安装入口?
  2. 是否知道当前用的是 OAuth 还是 PAT?
  3. 默认 toolsets 是否足够,是否避免了 all
  4. 是否用只读任务验证过 repo、issue、PR 查询?
  5. 写操作是否能在 GitHub 页面和日志中复核?

通过标准:Copilot 能基于 GitHub 真实上下文回答,且每个开放工具都有用途和权限边界。

官方来源

接下来去哪

本页目录