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 路徑很直接:
- 開啟 Extensions。
- 搜尋
@mcp github。 - 選擇 GitHub MCP server 並安裝。
- 啟動時確認信任。
- 用 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 預設啟用 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 看到錯誤。
深讀:GitHub MCP Server 不等於 GitHub 全許可權
MCP server 只是把 GitHub 能力暴露成工具。真正能做什麼,仍然由賬號許可權、OAuth scopes、PAT scopes、組織策略、功能訂閱和啟用的 toolsets 決定。
同一個 prompt,在個人賬號、組織賬號、Enterprise Managed User、不同 IDE 裡可能得到不同工具列表。
本章自檢
- GitHub server 是否來自官方來源或可信安裝入口?
- 是否知道當前用的是 OAuth 還是 PAT?
- 預設 toolsets 是否足夠,是否避免了
all? - 是否用只讀任務驗證過 repo、issue、PR 查詢?
- 寫操作是否能在 GitHub 頁面和日誌中複核?
透過標準:Copilot 能基於 GitHub 真實上下文回答,且每個開放工具都有用途和許可權邊界。
官方來源
- Setting up the GitHub MCP Server —— GitHub 官方設定流程、OAuth/PAT 邊界。
- Using the GitHub MCP Server in your IDE —— GitHub 官方使用方式、工具列表和排障。
- Configuring toolsets for the GitHub MCP Server —— GitHub 官方 toolsets 說明。