觀點 · 資訊分享

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#OAuth#AI 開發工具
GitHub MCP Server 1.5.0:本機版內建 OAuth 登入,不必先去申請個人存取權杖

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

GitHub MCP Server 1.5.0 重點資訊圖卡:本機版內建 OAuth,用瀏覽器登入就好,不必先建個人存取權杖

先用白話講:這次改了什麼?

想像你要請一位助理進公司幫忙整理文件。以前的做法是:你得先去櫃檯辦一張長期通行證(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 的一種安全加強做法,讓截走授權碼的人無法拿去兌換權杖。

資料來源

常見問題

GitHub MCP Server 是什麼?
是 GitHub 官方做的 MCP 伺服器,讓 AI 工具(例如 Claude、Copilot、Cursor)能透過統一的規格讀取儲存庫、管理議題與 PR、查 Actions 結果等。分成 GitHub 代管的遠端版,以及自己在本機執行的版本,這次更新的是本機版。
OAuth 登入比 PAT 好在哪裡?
不用自己去建權杖、決定有效期限與保管,第一次使用在瀏覽器授權即可。官方文件說權杖只放在記憶體、不寫到磁碟。代價是流程需要瀏覽器;沒有瀏覽器的環境(例如容器)要靠固定回呼連接埠或裝置碼流程。
用 Docker 跑要注意什麼?
容器沒辦法使用主機隨機的本機連接埠,所以要固定回呼連接埠並對外映射,文件用的是 8085:-p 127.0.0.1:8085:8085,並設定環境變數 GITHUB_OAUTH_CALLBACK_PORT=8085。
LINE