---
title: "GitHub MCP Server"
description: "配置和使用 GitHub 官方维护的 MCP server，让 Copilot 读取和操作 GitHub 上下文。"
verifiedAt: "2026-05-06"
---

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

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

## 1. 它能做什么

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

```mermaid
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 是：

```json
{
  "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 默认启用 `repos`、`issues`、`pull_requests`。官方 toolsets 文档说明还可以启用 `actions`、`code_security`、`secret_protection` 等，也可以用 `all` 启用所有 toolsets。

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

- 日常查询：`repos`、`issues`、`pull_requests`
- CI 排障：再加 `actions`
- 安全工作流：再加 `code_security`、`secret_protection`
- Cloud Agent 操作：只在明确需要时加 `copilot`

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

## 5. 使用时的验收方式

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

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

<details>
<summary>深读：GitHub MCP Server 不等于 GitHub 全权限</summary>

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

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

## 本章自检

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

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

## 官方来源

- [Setting up the GitHub MCP Server](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server) —— GitHub 官方设置流程、OAuth/PAT 边界。
- [Using the GitHub MCP Server in your IDE](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/use-the-github-mcp-server) —— GitHub 官方使用方式、工具列表和排障。
- [Configuring toolsets for the GitHub MCP Server](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/configure-toolsets) —— GitHub 官方 toolsets 说明。

## 接下来去哪

<Cards>
  <Card title="用 MCP 扩展 Chat" description="把 server 配置进 IDE 并让 Agent mode 调用。" href="/docs/github-copilot/official/07-mcp/extend-chat-with-mcp" />
  <Card title="企业 MCP 配置" description="看 GHEC、GHES、toolsets 和 registry 的治理边界。" href="/docs/github-copilot/official/07-mcp/enterprise-mcp" />
</Cards>
