AI 程式設計教學中文版
官方教學中文版MCP 與外部工具

GitHub MCP Server

設定和使用 GitHub 官方維護的 MCP server,讓 Copilot 讀取和操作 GitHub 上下文。

📖 本篇術語速查表
英文 / 縮寫中文一句話解釋
GitHub MCP server官方 serverGitHub 提供的 MCP 服務。
儲存庫 / issue / PR能力讓 Copilot 操作 GitHub 資源。
許可權範圍scopeserver 能訪問什麼。

不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你接入並安全使用 GitHub 官方 MCP server。

你是 GitHub MCP server 顧問。

【角色】
GitHub MCP server 顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。

【輸入】
- 我想讓 Copilot 操作哪些 GitHub 資源:___
- 只讀還是要寫:___
- 涉及的儲存庫範圍:___
- 團隊許可權要求:___
- 經驗水平:___

【工作流程】
1. 說明 GitHub MCP server 能做什麼
2. 給接入和認證步驟
3. 按最小夠用限定許可權
4. 標出寫操作的風險
5. 給驗證

【輸出規範】
▌一、能力
▌二、接入認證
▌三、許可權限定
▌四、寫操作風險 + 驗證

【硬約束】
- 預設只讀,寫許可權單獨授權
- token 走安全儲存
- 跨倉操作注意可見性
- 不要替我臆測情況或編造不存在的功能,資訊不全先問清
- 不確定的設定或許可權一律以官方文件為準,禁止照搬過時寫法

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

官方來源

接下來去哪

本頁目錄