觀點 · 資訊分享
GitHub MCP Server 1.5.0:本機版內建 OAuth 登入,不必先去申請個人存取權杖
GitHub 官方的 MCP Server 在 6/27 釋出 1.5.0,本機(stdio)版現在內建 OAuth 登入:第一次使用用瀏覽器授權就好,權杖只放在記憶體。另外新增對議題與 PR 留言按反應、查父議題等工具。
- 發布
- 2026-06-27
- 篇幅
- 約 4 分鐘 · 1,716 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:GitHub 官方的 MCP Server 本機版在 1.5.0 內建了 OAuth 登入,第一次用瀏覽器授權就行,不用再先去申請個人存取權杖(PAT)。

先用白話講:這次改了什麼?
想像你要請一位助理進公司幫忙整理文件。以前的做法是:你得先去櫃檯辦一張長期通行證(PAT),自己決定有效期限、自己把它收好,萬一弄丟或被複製,別人就能拿著它進來。
現在的做法像是訪客登記:助理第一次來,你在門口當面確認「同意他進來」,系統發一張只放在他身上的臨時證件,離開就失效。這就是 OAuth 登入。
發生什麼事
GitHub 在 6 月 27 日釋出 GitHub MCP Server 1.5.0,重點有四個:
- 本機版內建 OAuth:不再一定需要 PAT
- 對議題與 PR 留言按反應:新增反應工具
- 查父議題:issue_read 工具可以取得上層議題
- 議題 MCP App 顯示更多資訊:例如標籤、里程碑
另外還有議題相依性的讀寫工具,以及「議題欄位」功能轉正、舊的議題寫入工具被標示為棄用。
OAuth 登入怎麼運作
根據官方文件(1.5.0 版):
| 項目 | 說明 |
|---|---|
| 流程 | 授權碼流程加 PKCE:本機開一個臨時回呼服務,開瀏覽器到 GitHub 授權頁,再用回傳的授權碼換權杖 |
| 權杖保存 | 只放在記憶體,不寫入磁碟 |
| 官方版本 | 官方發行的執行檔與 Docker 映像檔已內建註冊好的 OAuth 應用程式,在 github.com 不用任何旗標 |
| 授權網址呈現 | 優先自動開瀏覽器;其次透過 MCP 的 URL elicitation 提示;最後才是顯示在第一個工具回應裡 |
| 沒有瀏覽器時 | 退回裝置碼(device-code)流程 |
給開發者的技術細節
原生執行檔,在 github.com 上直接執行:
github-mcp-server stdio
Docker 要固定回呼連接埠,文件用的是 8085:
docker run -i --rm \
-p 127.0.0.1:8085:8085 \
-e GITHUB_OAUTH_CALLBACK_PORT=8085 \
ghcr.io/github/github-mcp-server
--oauth-scopes可限制要的權限,並且會同步過濾掉用不到的工具,工具清單會反映權杖真正能做的事- PAT 仍然可用,而且優先:只要設定了
GITHUB_PERSONAL_ACCESS_TOKEN,就會跳過 OAuth - GitHub Enterprise Server 與 ghe.com 要自備 OAuth 應用程式,並用
--oauth-client-id指定 - OAuth 只適用本機(stdio)版;遠端版與
http指令有自己的驗證方式 - 文件特別說明:內建在執行檔裡的 client secret 並不是真正的機密,保護授權流程的是 PKCE
我的看法
這個改動解決的是 MCP 工具最常見的痛點:金鑰管理。接 AI 工具時,大家習慣隨手建一個權限很大的 PAT 貼進設定檔,後來忘記它存在,也忘記它放在哪些電腦上。改成瀏覽器授權、權杖只在記憶體裡,少掉一把長期有效的鑰匙,風險小很多。
但要注意兩點:第一,OAuth 預設請求的是「完整支援的範圍」,如果你只需要讀程式碼,記得用 --oauth-scopes 縮小,這樣連工具清單也會跟著縮;第二,要放進排程或 CI 這類沒有人在旁邊點瀏覽器的場景,OAuth 就不太適合,還是得用 PAT,那就請設定到期日、權限最小化。
名詞小辭典
- MCP(Model Context Protocol):讓 AI 工具連接外部服務與資料的通用規格。
- PAT(Personal Access Token,個人存取權杖):GitHub 發的長期通行證,拿到的人就能以你的身分操作。
- OAuth:「授權但不給密碼」的登入方式,你在 GitHub 網站確認後,才發一張臨時權杖給工具。
- PKCE:OAuth 的一種安全加強做法,讓截走授權碼的人無法拿去兌換權杖。