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 真實上下文回答,且每個開放工具都有用途和許可權邊界。

官方來源

接下來去哪

本頁目錄