GitHub MCP
官方官方GitHub MCP伺服器,用於在相容MCP的AI客戶端中進行倉庫搜尋、議題、拉取請求、程式碼上下文及GitHub工作流程。
你可以用 Git Hub MCP 做什麼?
- 瀏覽與搜尋儲存庫 — 請您的助手使用
repos工具集中的工具來尋找檔案、閱讀程式碼或分析提交歷史。 - 管理議題與拉取請求 — 使用
issues和pull_requests工具集中的工具來建立、更新及分類議題或 PR。 - 監控 CI/CD 工作流程 — 透過
actions工具集檢查 GitHub Actions 執行狀態、調查建置失敗,並管理發行版本。 - 審查程式碼安全警示 — 使用
code_security、dependabot和secret_protection工具集來檢查程式碼掃描結果、Dependabot 警示及密碼掃描結果。 - 在討論與專案中協作 — 透過
discussions、projects和notifications工具集存取團隊討論、管理專案看板及處理通知。
文件
GitHub MCP 伺服器
GitHub MCP 伺服器能將 AI 工具直接連接到 GitHub 平台。這讓 AI 代理、助理和聊天機器人能夠讀取儲存庫和程式碼檔案、管理議題和 PR、分析程式碼,以及自動化工作流程。所有操作皆透過自然語言互動完成。
使用案例
- 儲存庫管理:瀏覽和查詢程式碼、搜尋檔案、分析提交記錄,並了解您有權限存取之任何儲存庫的專案結構。
- 議題與 PR 自動化:建立、更新和管理議題與拉取請求。讓 AI 協助分類錯誤、審查程式碼變更,以及維護專案看板。
- CI/CD 與工作流程智慧:監控 GitHub Actions 工作流程執行、分析建置失敗、管理版本發布,並深入了解您的開發流程。
- 程式碼分析:檢查安全性發現、審查 Dependabot 警報、了解程式碼模式,並取得程式碼庫的全面洞察。
- 團隊協作:存取討論、管理通知、分析團隊活動,並為您的團隊簡化流程。
專為希望將 AI 工具連接到 GitHub 情境和功能的開發者打造,從簡單的自然語言查詢到複雜的多步驟代理工作流程皆適用。
遠端 GitHub MCP 伺服器
遠端 GitHub MCP 伺服器由 GitHub 託管,提供最簡便的啟動和執行方式。如果您的 MCP 主機不支援遠端 MCP 伺服器,別擔心!您可以改用 GitHub MCP 伺服器的本地版本。
先決條件
- 一個相容且支援遠端伺服器的 MCP 主機(VS Code 1.101+、Claude Desktop、Cursor、Windsurf 等)
- 已啟用任何適用的政策
在 VS Code 中安裝
如需快速安裝,請使用上方的一鍵安裝按鈕。完成流程後,切換到代理模式(位於 Copilot Chat 文字輸入框旁),伺服器便會啟動。請確保您使用的是 VS Code 1.101 或更新版本,以獲得遠端 MCP 和 OAuth 支援。
或者,若要手動設定 VS Code,請從以下範例中選擇合適的 JSON 區塊,並將其新增至您的主機設定:
| 使用 OAuth | 使用 GitHub PAT |
|---|---|
| VS Code(1.101 版或更高版本) | |
|
|
在其他 MCP 主機中安裝
- Copilot CLI - GitHub Copilot CLI 的安裝指南
- 其他 IDE 中的 GitHub Copilot - 在 JetBrains、Visual Studio、Eclipse 和 Xcode 中使用 GitHub Copilot 的安裝指南
- Claude 應用程式 - Claude Desktop 和 Claude Code CLI 的安裝指南
- Codex - OpenAI Codex 的安裝指南
- Cursor - Cursor IDE 的安裝指南
- OpenCode - OpenCode 終端代理的安裝指南
- Windsurf - Windsurf IDE 的安裝指南
- Zed - Zed 編輯器的安裝指南
- Rovo Dev CLI - Rovo Dev CLI 的安裝指南
注意: 每個 MCP 主機應用程式都需要設定 GitHub App 或 OAuth App,才能透過 OAuth 支援遠端存取。任何支援遠端 MCP 伺服器的主機應用程式,都應能支援使用 PAT 驗證的遠端 GitHub 伺服器。設定細節和支援等級因主機而異。請務必參考主機應用程式的文件以獲取更多資訊。
設定
工具集設定
請參閱遠端伺服器文件以取得遠端伺服器設定、工具集、標頭和進階用法的完整詳細資訊。此檔案提供了在 VS Code 和其他 MCP 主機中連接、自訂和安裝遠端 GitHub MCP 伺服器的全面說明和範例。
未指定工具集時,將使用預設工具集。
Insiders 模式
搶先試用新功能! 遠端伺服器提供 insiders 版本,可讓您提早存取新功能和實驗性工具。
| 使用 URL 路徑 | 使用標頭 |
|---|---|
|
|
請參閱遠端伺服器文件以取得更多詳細資訊和範例,以及Insiders 功能以取得可用功能的完整清單。
GitHub Enterprise
具備資料駐留功能的 GitHub Enterprise Cloud (ghe.com)
GitHub Enterprise Cloud 也可以使用遠端伺服器。
針對 https://octocorp.ghe.com 使用 GitHub PAT 權杖的範例:
{
...
"github-octocorp": {
"type": "http",
"url": "https://copilot-api.octocorp.ghe.com/mcp",
"headers": {
"Authorization": "Bearer ${input:github_mcp_pat}"
}
},
...
}
注意: 在 VS Code 和 GitHub Copilot 中對 GitHub Enterprise 使用 OAuth 時,您也需要將 VS Code 設定指向您的 GitHub Enterprise 執行個體 - 請參閱從 VS Code 驗證
GitHub Enterprise Server
GitHub Enterprise Server 不支援遠端伺服器託管。請參考本地伺服器設定中的 GitHub Enterprise Server 和具備資料駐留功能的 Enterprise Cloud (ghe.com)。
本地 GitHub MCP 伺服器
先決條件
-
若要在容器中執行伺服器,您需要安裝 Docker。
-
安裝 Docker 後,您還需要確保 Docker 正在執行。Docker 映像檔可於
ghcr.io/github/github-mcp-server取得。該映像檔是公開的;如果您在拉取時遇到錯誤,可能是權杖已過期,需要docker logout ghcr.io。 -
驗證。 在 github.com 上,您無需事先建立任何內容 — 上方的一鍵按鈕會在首次使用時透過 OAuth 為您登入(基於瀏覽器的流程;權杖僅保存在記憶體中)。Docker 按鈕會發布一個固定的回呼連接埠 (
127.0.0.1:8085),以便容器的登入回呼可以被存取。請參閱 本地伺服器 OAuth 登入 以了解其運作方式、無頭/裝置碼備用方案,以及自備 OAuth 或 GitHub App(GitHub Enterprise Server 和ghe.com的必要條件)。偏好使用權杖嗎?您仍然可以透過設定
GITHUB_PERSONAL_ACCESS_TOKEN來使用 GitHub 個人存取權杖進行驗證(其優先權高於 OAuth)。MCP 伺服器可以使用許多 GitHub API,因此請啟用您願意授予 AI 工具的權限(若要深入了解存取權杖,請查閱文件)。
安全處理 PAT
環境變數(建議)
為了確保您的 GitHub PAT 安全且可在不同的 MCP 主機間重複使用:
-
將您的 PAT 儲存在環境變數中
export GITHUB_PAT=your_token_here或建立一個
.env檔案:GITHUB_PAT=your_token_here -
保護您的
.env檔案# Add to .gitignore to prevent accidental commits echo ".env" >> .gitignore -
在設定中引用權杖
# CLI usage claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server # In config files (where supported) "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT" }
注意:環境變數的支援因主機應用程式和 IDE 而異。某些應用程式(如 Windsurf)需要在設定檔中硬編碼權杖。
權杖安全最佳實務
-
最小範圍:僅授予必要的權限
repo- 儲存庫操作read:packages- Docker 映像檔存取read:org- 組織團隊存取
-
獨立的權杖:為不同的專案/環境使用不同的 PAT
-
定期輪換:定期更新權杖
-
絕不提交:將權杖排除在版本控制之外
-
檔案權限:限制對包含權杖的設定檔的存取
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server 和具備資料駐留功能的 Enterprise Cloud (ghe.com)
旗標 --gh-host 和環境變數 GITHUB_HOST 可用於設定
GitHub Enterprise Server 或具備資料駐留功能的 GitHub Enterprise Cloud 的主機名稱。
- 對於 GitHub Enterprise Server,請在主機名稱前加上
https://URI 方案,因為它預設為http://,而 GitHub Enterprise Server 不支援此方案。 - 對於具備資料駐留功能的 GitHub Enterprise Cloud,請使用
https://YOURSUBDOMAIN.ghe.com作為主機名稱。
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_HOST",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
安裝
在 VS Code 的 GitHub Copilot 中安裝
如需快速安裝,請使用上方的一鍵安裝按鈕。完成流程後,切換到代理模式(位於 Copilot Chat 文字輸入框旁),伺服器便會啟動。
更多關於在 VS Code 的代理模式文件中使用 MCP 伺服器工具的資訊。
在其他 IDE(JetBrains、Visual Studio、Eclipse 等)的 GitHub Copilot 中安裝
將下列其中一個 JSON 區塊新增至您 IDE 的 MCP 設定中。
使用 OAuth 登入(無需建立或儲存權杖)。 在 github.com 上,官方映像檔已包含應用程式憑證,因此您無需自行提供:它會在首次使用時執行基於瀏覽器的登入,並將產生的權杖僅保存在記憶體中。在 Docker 中,這需要將一個固定的回呼連接埠發布到迴路,以便容器的登入回呼可以被存取:
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"127.0.0.1:8085:8085",
"-e",
"GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
}
請參閱 本地伺服器 OAuth 登入 以了解原生二進位檔流程(無需固定連接埠)、無頭/裝置碼備用方案、GitHub Enterprise Server / ghe.com,以及自備 OAuth 或 GitHub App。
或使用個人存取權杖進行驗證。 改為設定 GITHUB_PERSONAL_ACCESS_TOKEN(其優先權高於 OAuth):
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
或者,您可以將一個類似的範例(即不包含 mcp 金鑰)新增至您工作區中名為 .vscode/mcp.json 的檔案。這將允許您與其他接受相同格式的主機應用程式共用設定。
不包含 MCP 金鑰的 JSON 區塊範例
{
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
在其他 MCP 主機中安裝
對於其他 MCP 主機應用程式,請參考我們的安裝指南:
- Copilot CLI - GitHub Copilot CLI 的安裝指南
- 其他 IDE 中的 GitHub Copilot - 在 JetBrains、Visual Studio、Eclipse 和 Xcode 中使用 GitHub Copilot 的安裝指南
- Claude Code 和 Claude Desktop - Claude Code 和 Claude Desktop 的安裝指南
- Cursor - Cursor IDE 的安裝指南
- Google Gemini CLI - Google Gemini CLI 的安裝指南
- OpenCode - OpenCode 終端代理的安裝指南
- Windsurf - Windsurf IDE 的安裝指南
- Zed - Zed 編輯器的安裝指南
如需所有安裝選項的完整概覽,請參閱我們的 安裝指南索引。
注意: 任何支援本地 MCP 伺服器的主機應用程式,都應該能夠存取本地 GitHub MCP 伺服器。然而,具體的設定流程、語法和整合的穩定性會因主機應用程式而異。雖然許多應用程式可能遵循與上述範例類似的格式,但這並不保證。請參考您主機應用程式的文件,以取得正確的 MCP 設定語法和設定流程。
從原始碼建置
如果您沒有 Docker,可以使用 go build 在 cmd/github-mcp-server 目錄中建置二進位檔,並使用 github-mcp-server stdio 指令,同時將 GITHUB_PERSONAL_ACCESS_TOKEN 環境變數設定為您的權杖。若要指定建置的輸出位置,請使用 -o 旗標。您應將伺服器設定為使用建置好的執行檔作為其 command。例如:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
CLI 工具
github-mcp-server 二進位檔包含幾個 CLI 子命令,有助於偵錯和探索伺服器。
github-mcp-server tool-search "<query>"會依名稱、說明和輸入參數名稱來搜尋工具。使用--max-results可傳回更多相符項目。 範例(彩色輸出需要 TTY;在 Docker 中執行時請使用docker run -t(或-it)):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5
工具設定
GitHub MCP 伺服器支援透過 --toolsets 旗標來啟用或停用特定功能群組。這可讓您控制 AI 工具可以使用哪些 GitHub API 功能。僅啟用您需要的工具集,有助於 LLM 選擇工具並減少上下文大小。
工具集不僅限於工具。相關的 MCP 資源和提示也會在適用時包含在內。
若未指定任何工具集,則會使用預設工具集。
正在尋找範例? 請參閱伺服器設定指南,了解常見的配置方式,例如最小化設定、唯讀模式,以及結合工具與工具集。
指定工具集
若要指定您希望 LLM 可用的工具集,可以透過兩種方式傳遞允許清單:
-
使用命令列引數:
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security -
使用環境變數:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
若同時提供兩者,環境變數 GITHUB_TOOLSETS 的優先順序高於命令列引數。
指定個別工具
您也可以使用 --tools 旗標來設定特定工具。工具可以獨立使用,或與工具集合併使用,以進行精細控制。
-
使用命令列引數:
github-mcp-server --tools get_file_contents,issue_read,create_pull_request -
使用環境變數:
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server -
與工具集合併使用(累加式):
github-mcp-server --toolsets repos,issues --tools get_gist這會註冊來自
repos和issues工具集的所有工具,外加get_gist。
重要注意事項:
- 工具和工具集可以一起使用
- 唯讀模式優先:若設定了
--read-only,即使透過--tools明確要求,寫入工具也會被跳過 - 工具名稱必須完全相符(例如
get_file_contents,而非getFileContents)。無效的工具名稱會導致伺服器在啟動時失敗並顯示錯誤訊息 - 當工具重新命名時,舊名稱會保留為別名以維持回溯相容性。詳情請參閱工具重新命名。
搭配 Docker 使用工具集
使用 Docker 時,您可以將工具集作為環境變數傳遞:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
ghcr.io/github/github-mcp-server
搭配 Docker 使用工具
使用 Docker 時,您可以將特定工具作為環境變數傳遞。您也可以將工具與工具集合併使用:
# Tools only
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
ghcr.io/github/github-mcp-server
# Tools combined with toolsets (additive)
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues" \
-e GITHUB_TOOLS="get_gist" \
ghcr.io/github/github-mcp-server
特殊工具集
"all" 工具集
可以提供特殊工具集 all 來啟用所有可用的工具集,無論其他設定為何:
./github-mcp-server --toolsets all
或使用環境變數:
GITHUB_TOOLSETS="all" ./github-mcp-server
"default" 工具集
預設工具集 default 是未指定任何工具集時傳遞給伺服器的設定。
預設設定為:
- context
- repos
- issues
- pull_requests
- users
若要保留預設設定並新增其他工具集:
GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server
Insiders 模式
本機 GitHub MCP 伺服器提供 Insiders 版本,可讓您搶先體驗新功能和實驗性工具。
-
使用命令列引數:
./github-mcp-server --insiders -
使用環境變數:
GITHUB_INSIDERS=true ./github-mcp-server
使用 Docker 時:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_INSIDERS=true \
ghcr.io/github/github-mcp-server
可用的工具集
提供下列工具集:
| 工具集 | 說明 | |
|---|---|---|
context | 強烈建議:提供關於目前使用者及您所在 GitHub 上下文資訊的工具 | |
actions | GitHub Actions 工作流程與 CI/CD 操作 | |
code_quality | GitHub 程式碼品質相關工具 | |
code_security | 程式碼安全相關工具,例如 GitHub 程式碼掃描 | |
copilot | Copilot 相關工具 | |
dependabot | Dependabot 工具 | |
discussions | GitHub Discussions 相關工具 | |
gists | GitHub Gist 相關工具 | |
git | GitHub Git API 相關工具,用於低階 Git 操作 | |
issues | GitHub Issues 相關工具 | |
labels | GitHub 標籤相關工具 | |
notifications | GitHub 通知相關工具 | |
orgs | GitHub 組織相關工具 | |
projects | GitHub Projects 相關工具 | |
pull_requests | GitHub Pull Request 相關工具 | |
repos | GitHub 儲存庫相關工具 | |
secret_protection | 密碼保護相關工具,例如 GitHub 密碼掃描 | |
security_advisories | 安全通報相關工具 | |
stargazers | GitHub Stargazers 相關工具 | |
users | GitHub 使用者相關工具 |
遠端 GitHub MCP 伺服器中的其他工具集
| 工具集 | 說明 |
|---|---|
copilot | Copilot 相關工具(例如 Copilot Coding Agent) |
copilot_spaces | Copilot Spaces 相關工具 |
github_support_docs_search | 搜尋文件以回答 GitHub 產品和支援問題 |
工具

Actions
-
actions_get - 取得 GitHub Actions 資源的詳細資料(工作流程、工作流程執行、作業和成品)
- 必要的 OAuth 範圍:
repo method:要執行的操作方法(字串,必要)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)resource_id:資源的唯一識別碼。這會根據提供的「方法」而有所不同,因此請確保提供正確的 ID:- 對於 'get_workflow' 方法,提供工作流程 ID 或工作流程檔案名稱(例如 ci.yaml)。
- 對於 'get_workflow_run'、'get_workflow_run_usage' 和 'get_workflow_run_logs_url' 方法,提供工作流程執行 ID。
- 對於 'download_workflow_run_artifact' 方法,提供成品 ID。
- 對於 'get_workflow_job' 方法,提供作業 ID。 (字串,必要)
- 必要的 OAuth 範圍:
-
actions_list - 列出儲存庫中的 GitHub Actions 工作流程
- 必要的 OAuth 範圍:
repo method:要執行的動作(字串,必要)owner:儲存庫擁有者(字串,必要)page:分頁的頁碼(預設:1)(數字,選用)per_page:分頁的每頁結果數(預設:30,最大:100)(數字,選用)repo:儲存庫名稱(字串,必要)resource_id:資源的唯一識別碼。這會根據提供的「方法」而有所不同,因此請確保提供正確的 ID:- 對於 'list_workflows' 方法,不要提供任何資源 ID。
- 對於 'list_workflow_runs' 方法,提供工作流程 ID 或工作流程檔案名稱(例如 ci.yaml),或省略以列出儲存庫中的所有工作流程執行。
- 對於 'list_workflow_jobs' 和 'list_workflow_run_artifacts' 方法,提供工作流程執行 ID。 (字串,選用)
workflow_jobs_filter:工作流程作業的篩選條件。僅在方法為 'list_workflow_jobs' 時使用(物件,選用)workflow_runs_filter:工作流程執行的篩選條件。僅在方法為 'list_workflow_runs' 時使用(物件,選用)
- 必要的 OAuth 範圍:
-
actions_run_trigger - 觸發 GitHub Actions 工作流程動作
- 必要的 OAuth 範圍:
repo inputs:工作流程接受的輸入。僅用於 'run_workflow' 方法。(物件,選用)method:要執行的操作方法(字串,必要)owner:儲存庫擁有者(字串,必要)ref:工作流程的 git 參考。參考可以是分支或標籤名稱。'run_workflow' 方法的必要項。(字串,選用)repo:儲存庫名稱(字串,必要)run_id:工作流程執行的 ID。除了 'run_workflow' 之外的所有方法都必須提供。(數字,選用)workflow_id:工作流程 ID(數字)或工作流程檔案名稱(例如 main.yml、ci.yaml)。'run_workflow' 方法的必要項。(字串,選用)
- 必要的 OAuth 範圍:
-
get_job_logs - 取得 GitHub Actions 工作流程作業日誌
- 必要的 OAuth 範圍:
repo failed_only:設為 true 時,會取得 run_id 所指定工作流程執行中所有失敗作業的日誌。需要提供 run_id。(布林值,選用)job_id:工作流程作業的唯一識別碼。取得單一作業日誌時的必要項。(數字,選用)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)return_content:傳回實際日誌內容而非 URL(布林值,選用)run_id:工作流程執行的唯一識別碼。當 failed_only 為 true 時,需要此項來取得執行中所有失敗作業的日誌。(數字,選用)tail_lines:從日誌結尾傳回的行數(數字,選用)
- 必要的 OAuth 範圍:

程式碼品質
- **get_code_quality_finding** - 取得程式碼品質發現項目
- **必要的 OAuth 範圍**:`repo`
- `findingNumber`:發現項目的編號。(數字,必要)
- `owner`:儲存庫的擁有者。(字串,必要)
- `repo`:儲存庫的名稱。(字串,必要)

程式碼安全性
-
get_code_scanning_alert - 取得程式碼掃描警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events alertNumber:警示的編號。(數字,必要)owner:儲存庫的擁有者。(字串,必要)repo:儲存庫的名稱。(字串,必要)
- 必要的 OAuth 範圍:
-
list_code_scanning_alerts - 列出程式碼掃描警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events owner:儲存庫的擁有者。(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)ref:您想要列出結果的 Git 參考。(字串,選用)repo:儲存庫的名稱。(字串,必要)severity:依嚴重性篩選程式碼掃描警示(字串,選用)state:依狀態篩選程式碼掃描警示。預設為 open(字串,選用)tool_name:用於程式碼掃描的工具名稱。(字串,選用)
- 必要的 OAuth 範圍:

上下文
-
get_me - 取得我的使用者個人資料
- 無需參數
-
get_team_members - 取得團隊成員
- 必要的 OAuth 範圍:
read:org - 接受的 OAuth 範圍:
admin:org、read:org、write:org org:包含該團隊的組織登入名稱(擁有者)。(字串,必要)team_slug:團隊代稱(字串,必要)
- 必要的 OAuth 範圍:
-
get_teams - 取得團隊
- 必要的 OAuth 範圍:
read:org - 接受的 OAuth 範圍:
admin:org、read:org、write:org user:要為其取得團隊的使用者名稱。若未提供,則使用已驗證的使用者。(字串,選用)
- 必要的 OAuth 範圍:

Copilot
-
assign_copilot_to_issue - 將 Copilot 指派給議題
- 必要的 OAuth 範圍:
repo base_ref:代理程式將開始工作的 Git 參考(例如分支)。若未指定,則預設為儲存庫的預設分支(字串,選用)custom_instructions:選用的自訂指示,用於在議題內文之外引導代理程式。使用此項來提供未包含在議題描述中的額外上下文、限制或指引(字串,選用)issue_number:議題編號(數字,必要)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
request_copilot_review - 請求 Copilot 審查
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(字串,必要)pullNumber:提取請求編號(數字,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:

Dependabot
-
get_dependabot_alert - 取得 Dependabot 警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events alertNumber:警示的編號。(數字,必要)owner:儲存庫的擁有者。(字串,必要)repo:儲存庫的名稱。(字串,必要)
- 必要的 OAuth 範圍:
-
list_dependabot_alerts - 列出 Dependabot 警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events after:用於分頁的游標。使用前一個回應中的游標。(字串,選用)owner:儲存庫的擁有者。(字串,必要)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫的名稱。(字串,必要)severity:依嚴重性篩選 Dependabot 警示(字串,選用)state:依狀態篩選 Dependabot 警示。預設為 open(字串,選用)
- 必要的 OAuth 範圍:

討論
-
discussion_comment_write - 管理討論留言
- 必要的 OAuth 範圍:
repo body:留言內容(對於 'add'、'reply' 和 'update' 方法為必要)(字串,選用)commentNodeID:討論留言的節點 ID(對於 'reply'、'update'、'delete'、'mark_answer' 和 'unmark_answer' 方法為必要)。對於 'reply',這是要回覆的頂層留言;GitHub Discussions 僅支援一層巢狀結構。(字串,選用)discussionNumber:討論編號(對於 'add' 和 'reply' 方法為必要)(數字,選用)method:要在討論留言上執行的寫入操作。 選項包括:- 'add' - 新增一個頂層留言到討論中。
- 'reply' - 回覆一個頂層討論留言(GitHub Discussions 僅支援一層巢狀結構)。
- 'update' - 更新一個現有的討論留言。
- 'delete' - 刪除一個討論留言。
- 'mark_answer' - 將討論留言標記為答案(僅限問答)。
- 'unmark_answer' - 取消將討論留言標記為答案(僅限問答)。 (字串,必要)
owner:儲存庫擁有者(對於 'add' 和 'reply' 方法為必要)(字串,選用)repo:儲存庫名稱(對於 'add' 和 'reply' 方法為必要)(字串,選用)
- 必要的 OAuth 範圍:
-
get_discussion - 取得討論
- 必要的 OAuth 範圍:
repo discussionNumber:討論編號(數字,必要)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
get_discussion_comments - 取得討論留言
- 必要的 OAuth 範圍:
repo after:用於分頁的游標。使用前一個回應中的游標。(字串,選用)discussionNumber:討論編號(數字,必要)includeReplies:當為 true 時,每個頂層留言將包含巢狀於其中的回覆(每個留言最多 100 則回覆,此為 GitHub API 的最大值)。預設為 false。(布林值,選用)owner:儲存庫擁有者(字串,必要)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
list_discussion_categories - 列出討論類別
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱。若未提供,將在組織層級查詢討論類別。(字串,選用)
- 必要的 OAuth 範圍:
-
list_discussions - 列出討論
- 必要的 OAuth 範圍:
repo after:用於分頁的游標。使用前一個回應中的游標。(字串,選用)category:選用的依討論類別 ID 篩選。若提供,則僅列出具有此類別的討論。(字串,選用)direction:排序方向。(字串,選用)orderBy:依欄位排序討論。若提供,則也需要提供 'direction'。(字串,選用)owner:儲存庫擁有者(字串,必要)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱。若未提供,將在組織層級查詢討論。(字串,選用)
- 必要的 OAuth 範圍:

Gists
-
create_gist - 建立 Gist
- 必要的 OAuth 範圍:
gist content:用於簡單單檔 Gist 建立的內容(字串,必要)description:Gist 的描述(字串,選用)filename:用於簡單單檔 Gist 建立的檔案名稱(字串,必要)public:Gist 是否為公開(布林值,選用)
- 必要的 OAuth 範圍:
-
get_gist - 取得 Gist 內容
gist_id:Gist 的 ID(字串,必要)
-
list_gists - 列出 Gists
page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)since:僅限在此時間之後更新的 Gists(ISO 8601 時間戳記)(字串,選用)username:GitHub 使用者名稱(省略則為已驗證使用者的 Gists)(字串,選用)
-
update_gist - 更新 Gist
- 必要的 OAuth 範圍:
gist content:檔案的內容(字串,必要)description:Gist 的更新描述(字串,選用)filename:要更新或建立的檔案名稱(字串,必要)gist_id:要更新的 Gist ID(字串,必要)
- 必要的 OAuth 範圍:

Git
- get_repository_tree - 取得儲存庫樹狀結構
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(使用者名稱或組織)(字串,必要)path_filter:選用的路徑前綴,用於篩選樹狀結構結果(例如 'src/' 僅顯示 src 目錄中的檔案)(字串,選用)recursive:將此參數設為 true 會回傳樹狀結構所參考的物件或子樹。預設為 false(布林值,選用)repo:儲存庫名稱(字串,必要)tree_sha:樹狀結構的 SHA1 值或參考(分支或標籤)名稱。預設為儲存庫的預設分支(字串,選用)
- 必要的 OAuth 範圍:

議題
-
add_issue_comment - 新增留言到議題或提取請求
- 必要的 OAuth 範圍:
repo body:留言內容。除非提供了反應,否則為必要。(字串,選用)comment_id:要對其做出反應的議題或提取請求留言的數字 ID。使用此項來對留言做出反應;省略它則對議題或提取請求本身做出反應。不能與 body 結合使用。(數字,選用)issue_number:要留言或做出反應的議題或提取請求編號。(數字,必要)owner:儲存庫擁有者(字串,必要)reaction:要新增的 Emoji 反應。除非提供了 body,否則為必要。(字串,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
get_label - 從儲存庫取得特定標籤
- 必要的 OAuth 範圍:
repo name:標籤名稱。(字串,必要)owner:儲存庫擁有者(使用者名稱或組織名稱)(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
issue_read - 取得議題詳細資訊
- 必要的 OAuth 範圍:
repo issue_number:議題編號(數字,必要)method:對單一議題執行的讀取操作。 選項如下:- get - 取得議題詳細資訊。同時也會回傳盡力而為的階層旗標(
has_parent、has_children);parent和sub_issues_summary是選用的關係摘要。 - get_comments - 取得議題留言。
- get_sub_issues - 取得議題的子議題(下層項目)。
- get_parent - 如果此議題是另一個議題的子議題,則取得其父議題。
- get_labels - 取得指派給此議題的標籤。 (字串,必要)
- get - 取得議題詳細資訊。同時也會回傳盡力而為的階層旗標(
owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
issue_write - 建立或更新議題/拉取請求
- 必要的 OAuth 範圍:
repo assignees:要指派給此議題的使用者名稱(字串陣列,選用)body:議題內文內容(字串,選用)duplicate_of:此議題為其重複項目的議題編號。僅在 state_reason 為 'duplicate' 時使用。(數字,選用)issue_fields:要設定或清除的議題欄位值。每個項目都需要 'field_name',以及 'value'、'field_option_name' 或 'delete: true' 三者之一。(物件陣列,選用)issue_number:要更新的議題編號(數字,選用)labels:要套用至此議題的標籤(字串陣列,選用)method:對單一議題執行的寫入操作。 選項如下:- 'create' - 建立一個新議題。
- 'update' - 更新一個現有議題。 (字串,必要)
milestone:里程碑編號(數字,選用)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)state:新狀態(字串,選用)state_reason:狀態變更的原因。除非狀態已變更,否則忽略。(字串,選用)title:議題標題(字串,選用)type:此議題的類型。僅在此儲存庫已啟用議題類型時使用。使用 list_issue_types 工具來取得此儲存庫或其擁有者組織的有效類型值。如果儲存庫不支援議題類型,請省略此參數。(字串,選用)
- 必要的 OAuth 範圍:
-
list_issue_fields - 列出議題欄位
- 必要的 OAuth 範圍(任一):
repo、read:org - 接受的 OAuth 範圍:
admin:org、read:org、repo、write:org owner:儲存庫或組織的帳戶擁有者。名稱不區分大小寫。(字串,必要)repo:儲存庫名稱。提供時,會回傳此特定儲存庫的欄位(繼承自其組織)。省略時,會直接回傳組織層級的欄位。(字串,選用)
- 必要的 OAuth 範圍(任一):
-
list_issue_types - 列出可用的議題類型
- 必要的 OAuth 範圍(任一):
repo、read:org - 接受的 OAuth 範圍:
admin:org、read:org、repo、write:org owner:儲存庫或組織的帳戶擁有者。(字串,必要)repo:儲存庫名稱。提供時,會回傳此特定儲存庫的議題類型。省略時,會直接回傳組織層級的議題類型。(字串,選用)
- 必要的 OAuth 範圍(任一):
-
list_issues - 列出議題
- 必要的 OAuth 範圍:
repo after:用於分頁的游標。使用前一個回應中的游標。(字串,選用)direction:排序方向。如有提供,則也必須提供 'orderBy'。(字串,選用)field_filters:依自訂議題欄位值篩選。每個項目需要一個 field_name 和一個 value;伺服器會查詢該欄位並將值強制轉換為其類型(單選選項名稱、文字、數字或 YYYY-MM-DD 日期)。(物件陣列,選用)labels:依標籤篩選(字串陣列,選用)orderBy:依欄位排序議題。如有提供,則也必須提供 'direction'。(字串,選用)owner:儲存庫擁有者(字串,必要)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)since:依日期篩選(ISO 8601 時間戳記)(字串,選用)state:依狀態篩選,預設情況下,未提供時會同時回傳開放和已關閉的議題(字串,選用)
- 必要的 OAuth 範圍:
-
search_issues - 搜尋議題
- 必要的 OAuth 範圍:
repo order:排序順序(字串,選用)owner:選用的儲存庫擁有者。如果與 repo 一起提供,則只會列出此儲存庫的議題。(字串,選用)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:使用 GitHub 議題搜尋語法的搜尋查詢(字串,必要)repo:選用的儲存庫名稱。如果與 owner 一起提供,則只會列出此儲存庫的議題。(字串,選用)sort:依類別比對數量排序的欄位,預設為最佳比對(字串,選用)
- 必要的 OAuth 範圍:
-
sub_issue_write - 變更子議題
- 必要的 OAuth 範圍:
repo after_id:要排在其後的子議題 ID(應指定 after_id 或 before_id 其中之一)(數字,選用)before_id:要排在其前的子議題 ID(應指定 after_id 或 before_id 其中之一)(數字,選用)issue_number:父議題的編號(數字,必要)method:對單一子議題執行的操作 選項如下:- 'add' - 在 GitHub 儲存庫中將子議題新增至父議題。
- 'remove' - 在 GitHub 儲存庫中從父議題移除子議題。
- 'reprioritize' - 在 GitHub 儲存庫中變更父議題內子議題的順序。使用 'after_id' 或 'before_id' 來指定新位置。
寫入議題階層。若要將子議題移至新的父議題,請使用
add搭配replace_parent=true;沒有可寫入的父欄位。 (字串,必要)
owner:儲存庫擁有者(字串,必要)replace_parent:設為 true 時,會取代子議題目前的父議題。僅與 'add' 方法搭配使用。(布林值,選用)repo:儲存庫名稱(字串,必要)sub_issue_id:要新增的子議題 ID。ID 與議題編號不同(數字,必要)
- 必要的 OAuth 範圍:

標籤
-
get_label - 從儲存庫取得特定標籤
- 必要的 OAuth 範圍:
repo name:標籤名稱。(字串,必要)owner:儲存庫擁有者(使用者名稱或組織名稱)(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
label_write - 對儲存庫標籤的寫入操作
- 必要的 OAuth 範圍:
repo color:標籤顏色,為不含 '#' 前綴的 6 字元十六進位代碼(例如 'f29513')。'create' 時為必要,'update' 時為選用。(字串,選用)description:標籤描述文字。'create' 和 'update' 時為選用。(字串,選用)method:要執行的操作:'create'、'update' 或 'delete'(字串,必要)name:標籤名稱 - 所有操作皆為必要(字串,必要)new_name:標籤的新名稱(僅與 'update' 方法搭配使用以重新命名)(字串,選用)owner:儲存庫擁有者(使用者名稱或組織名稱)(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
list_label - 列出儲存庫中的標籤
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(使用者名稱或組織名稱)- 所有操作皆為必要(字串,必要)repo:儲存庫名稱 - 所有操作皆為必要(字串,必要)
- 必要的 OAuth 範圍:

通知
-
dismiss_notification - 關閉通知
- 必要的 OAuth 範圍:
notifications state:通知的新狀態(read/done)(字串,必要)threadID:通知討論串的 ID(字串,必要)
- 必要的 OAuth 範圍:
-
get_notification_details - 取得通知詳細資訊
- 必要的 OAuth 範圍:
notifications notificationID:通知的 ID(字串,必要)
- 必要的 OAuth 範圍:
-
list_notifications - 列出通知
- 必要的 OAuth 範圍:
notifications before:僅顯示在指定時間之前更新的通知(ISO 8601 格式)(字串,選用)filter:篩選通知,除非另有指定,否則使用預設值。已讀通知是使用者已確認過的通知。參與中的通知是使用者直接參與的通知,例如他們曾留言或建立的議題或拉取請求。(字串,選用)owner:選用的儲存庫擁有者。如果與 repo 一起提供,則只會列出此儲存庫的通知。(字串,選用)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:選用的儲存庫名稱。如果與 owner 一起提供,則只會列出此儲存庫的通知。(字串,選用)since:僅顯示在指定時間之後更新的通知(ISO 8601 格式)(字串,選用)
- 必要的 OAuth 範圍:
-
manage_notification_subscription - 管理通知訂閱
- 必要的 OAuth 範圍:
notifications action:要執行的操作:ignore、watch 或 delete 通知訂閱。(字串,必要)notificationID:通知討論串的 ID。(字串,必要)
- 必要的 OAuth 範圍:
-
manage_repository_notification_subscription - 管理儲存庫通知訂閱
- 必要的 OAuth 範圍:
notifications action:要執行的操作:ignore、watch 或 delete 儲存庫通知訂閱。(字串,必要)owner:儲存庫的帳戶擁有者。(字串,必要)repo:儲存庫名稱。(字串,必要)
- 必要的 OAuth 範圍:
-
mark_all_notifications_read - 將所有通知標記為已讀
- 必要的 OAuth 範圍:
notifications lastReadAt:描述上次檢查通知的時間點(選用)。預設:現在(字串,選用)owner:選用的儲存庫擁有者。如果與 repo 一起提供,則只會將此儲存庫的通知標記為已讀。(字串,選用)repo:選用的儲存庫名稱。如果與 owner 一起提供,則只會將此儲存庫的通知標記為已讀。(字串,選用)
- 必要的 OAuth 範圍:

組織
- search_orgs - 搜尋組織
- 必要的 OAuth 範圍:
read:org - 接受的 OAuth 範圍:
admin:org、read:org、write:org order:排序順序(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:組織搜尋查詢。範例:'microsoft'、'location:california'、'created:>=2025-01-01'。搜尋會自動限定為 type:org。(字串,必要)sort:依類別排序的欄位(字串,選用)
- 必要的 OAuth 範圍:

專案
-
projects_get - 取得 GitHub Projects 資源的詳細資料
- 必要的 OAuth 範圍:
read:project - 接受的 OAuth 範圍:
project、read:project field_id:欄位的 ID。'get_project_field' 方法需要此項。(數字,選用)field_names:取得專案項目時,要包含在回應中的特定欄位名稱清單(例如 ["Status", "Priority"])。會在伺服器端解析為欄位 ID — 當您只知道人類可讀的名稱時,請傳遞此項而非 'fields'。與 'fields' 互斥 — 請提供其中一個,不要同時提供。僅用於 'get_project_item' 方法。(字串陣列,選用)fields:取得專案項目時,要包含在回應中的特定欄位 ID 清單(例如 ["102589", "985201", "169875"])。如果未提供 'fields' 或 'field_names',則只會包含標題欄位。與 'field_names' 互斥 — 請提供其中一個,不要同時提供。僅用於 'get_project_item' 方法。(字串陣列,選用)item_id:項目的 ID。'get_project_item' 方法需要此項。(數字,選用)method:要執行的操作方法(字串,必要)owner:擁有者(使用者或組織登入名稱)。名稱不區分大小寫。(字串,選用)owner_type:擁有者類型(user 或 org)。如果未提供,將會自動偵測。(字串,選用)project_number:專案的編號。(數字,選用)status_update_id:專案狀態更新的節點 ID。'get_project_status_update' 方法需要此項。(字串,選用)
- 必要的 OAuth 範圍:
-
projects_list - 列出 GitHub Projects 資源
- 必要的 OAuth 範圍:
read:project - 接受的 OAuth 範圍:
project、read:project after:來自前一個 pageInfo.nextCursor 的向前分頁游標。(字串,選用)before:來自前一個 pageInfo.prevCursor 的向後分頁游標(少見)。(字串,選用)field_names:列出專案項目時要包含的欄位名稱(例如 ["Status", "Priority"])。會在伺服器端解析為欄位 ID — 當您只知道人類可讀的名稱時,請傳遞此項而非 'fields'。解析失敗的名稱會回傳結構化錯誤。與 'fields' 互斥 — 請提供其中一個,不要同時提供。僅用於 'list_project_items' 方法。(字串陣列,選用)fields:列出專案項目時要包含的欄位 ID(例如 ["102589", "985201"])。關鍵:請務必提供以取得欄位值。如果沒有此項(且沒有 'field_names'),只會回傳標題。與 'field_names' 互斥 — 請提供其中一個,不要同時提供。僅用於 'list_project_items' 方法。(字串陣列,選用)method:要執行的動作(字串,必要)owner:擁有者(使用者或組織登入名稱)。名稱不區分大小寫。(字串,必要)owner_type:擁有者類型(user 或 org)。如果未提供,將會自動嘗試兩者。(字串,選用)per_page:每頁結果數(最大值 50)(數字,選用)project_number:專案的編號。'list_project_fields'、'list_project_items' 和 'list_project_status_updates' 方法需要此項。(數字,選用)query:篩選/查詢字串。用於 list_projects:依標題文字和狀態篩選(例如 "roadmap is:open")。用於 list_project_items:使用 GitHub 的專案篩選語法進行進階篩選。(字串,選用)
- 必要的 OAuth 範圍:
-
projects_write - 管理 GitHub Projects
- 必要的 OAuth 範圍:
project body:狀態更新的內文(markdown)。用於 'create_project_status_update' 方法。(字串,選用)field_name:迭代欄位的名稱(例如 'Sprint')。'create_iteration_field' 方法需要此項。(字串,選用)issue_number:議題編號。當 item_type 為 'issue' 時,'add_project_item' 需要此項。'update_project_item' 也可接受此項,以透過議題編號解析項目(需搭配 item_owner 和 item_repo)。(數字,選用)item_id:專案項目 ID。'delete_project_item' 需要此項。對於 'update_project_item',請提供 item_id,或提供 (item_owner + item_repo + issue_number) 以透過議題解析項目。(數字,選用)item_owner:包含議題或拉取請求的儲存庫擁有者(使用者或組織)。'add_project_item' 方法需要此項。'update_project_item' 在透過議題編號解析項目時也可接受此項。(字串,選用)item_repo:包含議題或拉取請求的儲存庫名稱。'add_project_item' 方法需要此項。'update_project_item' 在透過議題編號解析項目時也可接受此項。(字串,選用)item_type:項目的類型,可以是 issue 或 pull_request。'add_project_item' 方法需要此項。(字串,選用)iteration_duration:欄位迭代的持續天數(例如 7 代表每週,14 代表雙週)。'create_iteration_field' 方法需要此項。(數字,選用)iterations:用於 'create_iteration_field' 方法的自訂迭代。僅在您需要不同持續時間、其間有中斷或特定標題的迭代時才設定此項。否則請省略:GitHub 會自動從 'start_date' 開始,建立三個持續 'iteration_duration' 天的迭代,這對大多數情況而言是正確的選擇。(物件陣列,選用)method:要執行的操作方法(字串,必要)owner:專案擁有者(使用者或組織登入名稱)。名稱不區分大小寫。(字串,必要)owner_type:擁有者類型(user 或 org)。'create_project' 方法需要此項。對於其他方法,如果未提供,將會自動偵測。(字串,選用)project_number:專案的編號。除了 'create_project' 之外的所有方法都需要此項。(數字,選用)pull_request_number:拉取請求編號(當 'add_project_item' 方法的 item_type 為 'pull_request' 時使用)。請提供 issue_number 或 pull_request_number 其中之一。(數字,選用)start_date:開始日期,格式為 YYYY-MM-DD。用於 'create_project_status_update' 和 'create_iteration_field' 方法。(字串,選用)status:專案的狀態。用於 'create_project_status_update' 方法。(字串,選用)target_date:狀態更新的目標日期,格式為 YYYY-MM-DD。用於 'create_project_status_update' 方法。(字串,選用)title:專案標題。'create_project' 方法需要此項。(字串,選用)updated_field:描述要更新的欄位及其新值的物件。'update_project_item' 需要此項。接受兩種格式:(1) 依 ID — {"id": 123456, "value": "..."};(2) 依名稱 — {"name": "Status", "value": "In Progress"}。對於單選欄位,選項名稱解析需要依名稱的格式;在依 ID 的格式中,請傳遞選項 ID。將 value 設為 null 可清除該欄位。(物件,選用)
- 必要的 OAuth 範圍:

拉取請求
-
add_comment_to_pending_review - 將審查評論新增至請求者最新的待處理拉取請求審查
- 必要的 OAuth 範圍:
repo body:審查評論的文字(字串,必要)line:評論適用的拉取請求差異中 blob 的行號。對於多行評論,為範圍的最後一行(數字,選用)owner:儲存庫擁有者(字串,必要)path:需要評論的檔案的相對路徑(字串,必要)pullNumber:拉取請求編號(數字,必要)repo:儲存庫名稱(字串,必要)side:要評論的差異側。LEFT 表示先前的狀態,RIGHT 表示新的狀態(字串,選用)startLine:對於多行評論,為評論適用的範圍的第一行(數字,選用)startSide:對於多行評論,為評論適用的差異起始側。LEFT 表示先前的狀態,RIGHT 表示新的狀態(字串,選用)subjectType:評論的目標層級(字串,必要)
- 必要的 OAuth 範圍:
-
add_reply_to_pull_request_comment - 新增對拉取請求評論的回覆
- 必要的 OAuth 範圍:
repo body:回覆的文字。除非提供了 reaction,否則為必要。(字串,選用)commentId:要回覆或回應的拉取請求審查評論的數字 ID。請使用來自 #discussion_r... 錨點的編號,而非 GraphQL 執行緒節點 ID (PRRT_...)。(數字,必要)owner:儲存庫擁有者(字串,必要)pullNumber:拉取請求編號。當提供 body 時為必要。(數字,選用)reaction:要新增的 emoji 反應。除非提供了 body,否則為必要。(字串,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
create_pull_request - 開啟新的拉取請求
- 必要的 OAuth 範圍:
repo base:要合併到的目標分支(字串,必要)body:PR 描述(字串,選用)draft:建立為草稿 PR(布林值,選用)head:包含變更的來源分支(字串,必要)maintainer_can_modify:允許維護者編輯(布林值,選用)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)reviewers:要請求審查的 GitHub 使用者名稱或 ORG/team-slug 團隊審查者(字串陣列,選用)title:PR 標題(字串,必要)
- 必要的 OAuth 範圍:
-
list_pull_requests - 列出拉取請求
- 必要的 OAuth 範圍:
repo base:依基礎分支篩選(字串,選用)direction:排序方向(字串,選用)head:依來源使用者/組織和分支篩選(字串,選用)owner:儲存庫擁有者(字串,必要)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)sort:排序依據(字串,選用)state:依狀態篩選(字串,選用)
- 必要的 OAuth 範圍:
-
merge_pull_request - 合併拉取請求
- 必要的 OAuth 範圍:
repo commit_message:合併提交的額外詳細資訊(字串,選用)commit_title:合併提交的標題(字串,選用)merge_method:合併方法(字串,選用)owner:儲存庫擁有者(字串,必要)pullNumber:拉取請求編號(數字,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
pull_request_read - 取得單一 Pull Request 的詳細資訊
- 必要的 OAuth 權限範圍:
repo after:用於分頁的游標,僅供 get_review_comments 方法使用。傳遞上一頁 PageInfo 中的 endCursor 以取得下一頁。(字串,選用)method:指定要從 GitHub 擷取哪些 Pull Request 資料的動作。 可能的選項:- get - 取得特定 Pull Request 的詳細資訊。
- get_diff - 取得 Pull Request 的差異內容。
- get_status - 取得 Pull Request 中 head commit 的合併提交狀態。
- get_files - 取得 Pull Request 中已變更的檔案清單。可搭配分頁參數來控制回傳的結果數量。
- get_commits - 取得 Pull Request 上的提交清單。可搭配分頁參數來控制回傳的結果數量。
- get_review_comments - 取得 Pull Request 上的審查討論串。每個討論串包含在 Pull Request 審查期間,針對相同程式碼位置所發表的、邏輯上歸為一組的審查留言。回傳的內容包含討論串的中繼資料(isResolved、isOutdated、isCollapsed)及其關聯的留言。使用基於游標的分頁方式(perPage、after)來控制結果。
- get_reviews - 取得 Pull Request 上的審查。當被要求提供審查留言時,請使用 get_review_comments 方法。可搭配分頁參數來控制回傳的結果數量。
- get_comments - 取得 Pull Request 上的留言。如果使用者並非特別想找審查留言,請使用此方法。可搭配分頁參數來控制回傳的結果數量。
- get_check_runs - 取得 Pull Request 的 head commit 的檢查執行結果。檢查執行結果是指在 PR 上執行的個別 CI/CD 作業與檢查。 (字串,必要)
owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)pullNumber:Pull Request 編號(數字,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
pull_request_review_write - 對 Pull Request 審查進行寫入操作(建立、提交、刪除)
- 必要的 OAuth 權限範圍:
repo body:審查留言文字(字串,選用)commitID:要審查的提交 SHA(字串,選用)event:要執行的審查動作。(字串,選用)method:要對 Pull Request 審查執行的寫入操作。(字串,必要)owner:儲存庫擁有者(字串,必要)pullNumber:Pull Request 編號(數字,必要)repo:儲存庫名稱(字串,必要)threadId:審查討論串的節點 ID(例如 PRRT_kwDOxxx)。resolve_thread 和 unresolve_thread 方法必須提供此參數。可透過 pull_request_read 的 get_review_comments 方法取得討論串 ID。(字串,選用)
- 必要的 OAuth 權限範圍:
-
search_pull_requests - 搜尋 Pull Request
- 必要的 OAuth 權限範圍:
repo order:排序順序(字串,選用)owner:選用的儲存庫擁有者。若與 repo 一起提供,則只會列出此儲存庫的 Pull Request。(字串,選用)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)query:使用 GitHub Pull Request 搜尋語法的搜尋查詢(字串,必要)repo:選用的儲存庫名稱。若與 owner 一起提供,則只會列出此儲存庫的 Pull Request。(字串,選用)sort:依類別匹配數量排序的欄位,預設為最佳匹配(字串,選用)
- 必要的 OAuth 權限範圍:
-
update_pull_request - 編輯 Pull Request
- 必要的 OAuth 權限範圍:
repo base:新的基礎分支名稱(字串,選用)body:新的描述(字串,選用)draft:將 Pull Request 標記為草稿(true)或準備好接受審查(false)(布林值,選用)maintainer_can_modify:允許維護者編輯(布林值,選用)owner:儲存庫擁有者(字串,必要)pullNumber:要更新的 Pull Request 編號(數字,必要)repo:儲存庫名稱(字串,必要)reviewers:要請求審查的 GitHub 使用者名稱或 ORG/team-slug 團隊審查者(字串陣列,選用)state:新狀態(字串,選用)title:新標題(字串,選用)
- 必要的 OAuth 權限範圍:
-
update_pull_request_branch - 更新 Pull Request 分支
- 必要的 OAuth 權限範圍:
repo expectedHeadSha:Pull Request 的 HEAD 參照的預期 SHA(字串,選用)owner:儲存庫擁有者(字串,必要)pullNumber:Pull Request 編號(數字,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:

儲存庫
-
create_branch - 建立分支
- 必要的 OAuth 權限範圍:
repo branch:新分支的名稱(字串,必要)from_branch:來源分支(預設為儲存庫的預設分支)(字串,選用)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
create_or_update_file - 建立或更新檔案
- 必要的 OAuth 權限範圍:
repo branch:要在其中建立/更新檔案的分支(字串,必要)content:檔案內容(字串,必要)message:提交訊息(字串,必要)owner:儲存庫擁有者(使用者名稱或組織)(字串,必要)path:要建立/更新檔案的路徑(字串,必要)repo:儲存庫名稱(字串,必要)sha:要替換的檔案的 blob SHA。如果檔案已存在,則為必要參數。(字串,選用)
- 必要的 OAuth 權限範圍:
-
create_repository - 建立儲存庫
- 必要的 OAuth 權限範圍:
repo autoInit:使用 README 初始化(布林值,選用)description:儲存庫描述(字串,選用)name:儲存庫名稱(字串,必要)organization:要在其中建立儲存庫的組織(省略則建立在您的個人帳戶中)(字串,選用)private:儲存庫是否應為私有。省略時預設為 true(私有)。(布林值,選用)
- 必要的 OAuth 權限範圍:
-
delete_file - 刪除檔案
- 必要的 OAuth 權限範圍:
repo branch:要從中刪除檔案的分支(字串,必要)message:提交訊息(字串,必要)owner:儲存庫擁有者(使用者名稱或組織)(字串,必要)path:要刪除的檔案路徑(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
fork_repository - 複刻儲存庫
- 必要的 OAuth 權限範圍:
repo organization:要複刻到的組織(字串,選用)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
get_commit - 取得提交詳細資訊
- 必要的 OAuth 權限範圍:
repo detail:針對已變更檔案要包含的詳細資訊層級。"none" 會完全省略統計資料和檔案。"stats"(預設)包含每個檔案的中繼資料:檔名、狀態和程式碼行數統計(新增、刪除、變更),不含修補內容。"full_patch" 則會額外包含每個檔案的統一差異內容,且可能非常龐大。(字串,選用)owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)sha:提交 SHA、分支名稱或標籤名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
get_file_contents - 取得檔案或目錄內容
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(使用者名稱或組織)(字串,必要)path:檔案/目錄的路徑(字串,選用)ref:接受選用的 git 參照,例如refs/tags/{tag}、refs/heads/{branch}或refs/pull/{pr_number}/head(字串,選用)repo:儲存庫名稱(字串,必要)sha:接受選用的提交 SHA。若指定,將使用此 SHA 而非 ref(字串,選用)
- 必要的 OAuth 權限範圍:
-
get_latest_release - 取得最新版本
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
get_release_by_tag - 依標籤名稱取得版本
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)tag:標籤名稱(例如 'v1.0.0')(字串,必要)
- 必要的 OAuth 權限範圍:
-
get_tag - 取得標籤詳細資訊
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)tag:標籤名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
list_branches - 列出分支
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
list_commits - 列出提交
- 必要的 OAuth 權限範圍:
repo author:用於篩選提交的作者使用者名稱或電子郵件地址(字串,選用)owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)path:只會回傳包含此檔案路徑的提交(字串,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)sha:要列出其提交的提交 SHA、分支或標籤名稱。若未提供,則使用儲存庫的預設分支。若提供提交 SHA,將列出直到該 SHA 為止的提交。(字串,選用)since:只會回傳此日期之後的提交(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD)(字串,選用)until:只會回傳此日期之前的提交(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD)(字串,選用)
- 必要的 OAuth 權限範圍:
-
list_releases - 列出版本
- 必要的 OAuth 權限範圍:
repo owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
list_repository_collaborators - 列出儲存庫協作者
- 必要的 OAuth 權限範圍:
repo affiliation:依關聯性篩選。可為以下之一:'outside'(外部協作者)、'direct'(所有具有權限者,無論組織成員資格為何)、'all'(所有協作者)。預設值:'all'(字串,選用)owner:儲存庫擁有者(字串,必要)page:用於分頁的頁碼(預設 1,最小值 1)(數字,選用)perPage:用於分頁的每頁結果數量(預設 30,最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 權限範圍:
-
list_tags - 列出標籤
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(字串,必要)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
push_files - 推送檔案至儲存庫
- 必要的 OAuth 範圍:
repo branch:要推送的分支(字串,必要)files:要推送的檔案物件陣列,每個物件包含 path(字串)和 content(字串)(object[],必要)message:提交訊息(字串,必要)owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
search_code - 搜尋程式碼
- 必要的 OAuth 範圍:
repo order:結果的排序順序(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:搜尋查詢(GitHub 程式碼搜尋 REST)。詞彙之間隱含 AND;支援OR、NOT和"quoted phrase"進行精確比對。限定詞:repo:owner/repo、org:、user:、language:、path:dir(前綴比對)、filename:exact.ext、extension:、in:file、in:path、size:、is:archived、is:fork。最多 256 個字元。範例:WithContext language:go org:github;"package main" repo:o/r;func extension:go path:cmd repo:o/r;NOT TODO language:go repo:o/r。(字串,必要)sort:排序欄位(僅限 'indexed')(字串,選用)
- 必要的 OAuth 範圍:
-
search_commits - 搜尋提交
- 必要的 OAuth 範圍:
repo order:排序順序(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:提交搜尋查詢(GitHub 提交搜尋 REST)。僅搜尋預設分支上的提交訊息。使用repo:owner/repo、org:或user:限定搜尋範圍(沒有範圍限定詞的查詢會跨整個 GitHub 進行比對,通常不是您想要的)。其他限定詞:author:、committer:、author-name:、committer-name:、author-email:、committer-email:、author-date:、committer-date:(支援>、<、>=、<=和YYYY-MM-DD..YYYY-MM-DD範圍)、merge:true|false、hash:、tree:、parent:、is:public。範例:repo:owner/repo fix panic;org:github author:defunkt committer-date:>=2024-01-01;"refactor cache" repo:o/r;hash:abc1234 repo:o/r。(字串,必要)sort:按作者或提交日期排序(預設為最佳比對)(字串,選用)
- 必要的 OAuth 範圍:
-
search_repositories - 搜尋儲存庫
- 必要的 OAuth 範圍:
repo minimal_output:傳回最少的儲存庫資訊(預設:true)。設為 false 時,傳回完整的 GitHub API 儲存庫物件。(布林值,選用)order:排序順序(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:儲存庫搜尋查詢。範例:'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。支援進階搜尋語法以進行精確篩選。(字串,必要)sort:按欄位排序儲存庫,預設為最佳比對(字串,選用)
- 必要的 OAuth 範圍:

密碼保護
-
get_secret_scanning_alert - 取得密碼掃描警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events alertNumber:警示編號。(數字,必要)owner:儲存庫擁有者。(字串,必要)repo:儲存庫名稱。(字串,必要)
- 必要的 OAuth 範圍:
-
list_secret_scanning_alerts - 列出密碼掃描警示
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events owner:儲存庫擁有者。(字串,必要)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)repo:儲存庫名稱。(字串,必要)resolution:按解決狀態篩選(字串,選用)secret_type:要傳回的密碼類型清單,以逗號分隔。預設會傳回所有預設密碼模式。若要傳回通用模式,請在參數中傳遞權杖名稱。(字串,選用)state:按狀態篩選(字串,選用)
- 必要的 OAuth 範圍:

安全公告
-
get_global_security_advisory - 取得全域安全公告
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events ghsaId:GitHub 安全公告 ID(格式:GHSA-xxxx-xxxx-xxxx)。(字串,必要)
- 必要的 OAuth 範圍:
-
list_global_security_advisories - 列出全域安全公告
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events affects:按受影響的套件或版本篩選公告(例如 "package1,package2@1.0.0")。(字串,選用)cveId:按 CVE ID 篩選。(字串,選用)cwes:按常見弱點列舉 ID 篩選(例如 ["79", "284", "22"])。(string[],選用)ecosystem:按套件生態系統篩選。(字串,選用)ghsaId:按 GitHub 安全公告 ID 篩選(格式:GHSA-xxxx-xxxx-xxxx)。(字串,選用)isWithdrawn:是否僅傳回已撤回的公告。(布林值,選用)modified:按發布或更新日期或日期範圍篩選(ISO 8601 日期或範圍)。(字串,選用)published:按發布日期或日期範圍篩選(ISO 8601 日期或範圍)。(字串,選用)severity:按嚴重性篩選。(字串,選用)type:公告類型。(字串,選用)updated:按更新日期或日期範圍篩選(ISO 8601 日期或範圍)。(字串,選用)
- 必要的 OAuth 範圍:
-
list_org_repository_security_advisories - 列出組織儲存庫安全公告
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events direction:排序方向。(字串,選用)org:組織登入名稱。(字串,必要)sort:排序欄位。(字串,選用)state:按公告狀態篩選。(字串,選用)
- 必要的 OAuth 範圍:
-
list_repository_security_advisories - 列出儲存庫安全公告
- 必要的 OAuth 範圍:
security_events - 接受的 OAuth 範圍:
repo、security_events direction:排序方向。(字串,選用)owner:儲存庫擁有者。(字串,必要)repo:儲存庫名稱。(字串,必要)sort:排序欄位。(字串,選用)state:按公告狀態篩選。(字串,選用)
- 必要的 OAuth 範圍:

星標者
-
list_starred_repositories - 列出已加星標的儲存庫
- 必要的 OAuth 範圍:
repo direction:排序結果的方向。(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)sort:排序結果的方式。可以是 'created'(儲存庫被加星標的時間)或 'updated'(儲存庫最後推送的時間)。(字串,選用)username:要列出其已加星標儲存庫的使用者名稱。預設為已驗證的使用者。(字串,選用)
- 必要的 OAuth 範圍:
-
star_repository - 為儲存庫加星標
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:
-
unstar_repository - 取消儲存庫星標
- 必要的 OAuth 範圍:
repo owner:儲存庫擁有者(字串,必要)repo:儲存庫名稱(字串,必要)
- 必要的 OAuth 範圍:

使用者
- search_users - 搜尋使用者
- 必要的 OAuth 範圍:
repo order:排序順序(字串,選用)page:分頁的頁碼(最小值 1)(數字,選用)perPage:分頁的每頁結果數(最小值 1,最大值 100)(數字,選用)query:使用者搜尋查詢。範例:'john smith'、'location:seattle'、'followers:>100'。搜尋會自動限定為 type:user。(字串,必要)sort:按追蹤者數量、儲存庫數量或加入 GitHub 的時間排序使用者。(字串,選用)
- 必要的 OAuth 範圍:
遠端 GitHub MCP 伺服器中的其他工具
Copilot
- create_pull_request_with_copilot - 使用 GitHub Copilot 編碼代理執行任務
owner:儲存庫擁有者。您可以猜測擁有者,但在繼續之前請與使用者確認。(字串,必要)repo:儲存庫名稱。您可以猜測儲存庫名稱,但在繼續之前請與使用者確認。(字串,必要)problem_statement:要執行任務的詳細描述(例如「實作一個執行 X 的功能」、「修復錯誤 Y」等)(字串,必要)title:將建立的拉取請求標題(字串,必要)base_ref:代理開始工作的 Git 參考(例如分支)。如果未指定,預設為儲存庫的預設分支(字串,選用)
Copilot Spaces
-
驗證注意事項
- 精細的 PAT 不會被傳統 PAT 範圍篩選隱藏,因此即使權杖無法使用這些工具,它們仍可能出現。
- 對於組織擁有的空間,精細的 PAT 必須安裝在擁有組織上,並包含
organization_copilot_spaces: read。 - 如果組織擁有的空間包含儲存庫支援的資源,權杖還必須具有每個參考儲存庫的存取權,否則該空間可能會被視為找不到。
-
get_copilot_space - 取得 Copilot Space
owner:空間的擁有者。(字串,必要)name:空間的名稱。(字串,必要)
-
list_copilot_spaces - 列出 Copilot Spaces
GitHub 支援文件搜尋
- **github_support_docs_search** - 擷取與回答 GitHub 產品和支援問題相關的文件。支援主題包括:GitHub Actions 工作流程、驗證、GitHub 支援查詢、Pull Request 實務、儲存庫維護、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces - `query`:使用者針對需要解答的問題所提供的輸入。這是最新的原始未編輯使用者訊息。您應始終保持使用者訊息原樣,絕不修改。(字串,必填)唯讀模式
若要以唯讀模式執行伺服器,您可以使用 --read-only 旗標。這將僅提供唯讀工具,防止對儲存庫、議題、Pull Request 等進行任何修改。
./github-mcp-server --read-only
使用 Docker 時,您可以將唯讀模式作為環境變數傳遞:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/github/github-mcp-server
鎖定模式
鎖定模式會限制伺服器從公開儲存庫中顯示的內容。啟用後,伺服器會檢查每個項目的作者是否具有該儲存庫的推送權限。私人儲存庫不受影響,協作者仍可完整存取自己的內容。
./github-mcp-server --lockdown-mode
使用 Docker 執行時,請設定對應的環境變數:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_LOCKDOWN_MODE=1 \
ghcr.io/github/github-mcp-server
鎖定模式的行為取決於所調用的工具。
當作者缺少推送權限時,以下工具將回傳錯誤:
issue_read:getpull_request_read:get
以下工具將過濾掉缺少推送權限的使用者所產生的內容:
issue_read:get_commentsissue_read:get_sub_issuespull_request_read:get_commentspull_request_read:get_review_commentspull_request_read:get_reviews
國際化 / 覆寫描述
您可以透過在與執行檔相同的目錄中建立一個
github-mcp-server-config.json 檔案來覆寫工具的描述。
該檔案應包含一個 JSON 物件,以工具名稱作為鍵,新的 描述作為值。例如:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
您可以透過使用 --export-translations 旗標執行執行檔,
來建立目前翻譯的匯出。
此旗標將保留您已進行的任何翻譯/覆寫,同時 加入自上次匯出以來新增至執行檔的任何新翻譯。
./github-mcp-server --export-translations
cat github-mcp-server-config.json
您也可以使用環境變數來覆寫描述。環境
變數名稱與 JSON 檔案中的鍵相同,並加上
GITHUB_MCP_ 前綴且全部大寫。
例如,若要覆寫 TOOL_ADD_ISSUE_COMMENT_DESCRIPTION 工具,您可以
設定以下環境變數:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
覆寫伺服器名稱與標題
相同的覆寫機制可用於自訂初始化回應中的 MCP 伺服器 name 和
title 欄位。這在執行多個 GitHub MCP 伺服器執行個體時非常有用
(例如,一個用於 github.com,另一個用於 GitHub Enterprise Server),
以便代理程式能夠區分它們。
| 鍵 | 環境變數 | 預設值 |
|---|---|---|
SERVER_NAME | GITHUB_MCP_SERVER_NAME | github-mcp-server |
SERVER_TITLE | GITHUB_MCP_SERVER_TITLE | GitHub MCP Server |
例如,若要為 GitHub Enterprise Server 設定一個伺服器執行個體:
{
"SERVER_NAME": "ghes-mcp-server",
"SERVER_TITLE": "GHES MCP Server"
}
或使用環境變數:
export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"
程式庫使用方式
此模組匯出的 Go API 目前應被視為不穩定,且可能會有破壞性變更。未來我們可能會提供穩定性保證;若您有認為這會很有價值的使用案例,請提交議題。
貢獻
歡迎貢獻。在開啟 Pull Request 之前,請閱讀貢獻指南以取得設定、測試、程式碼檢查和文件產生的說明。
支援
如需使用 GitHub MCP 伺服器的協助,請參閱支援指南。若您發現錯誤或想請求新功能,請在開啟新議題前先搜尋現有議題。
安全性
請勿透過公開議題回報安全性漏洞。請遵循安全性政策中的指示,負責任地回報漏洞。
授權
本專案依據 MIT 開放原始碼授權條款授權。請參閱 MIT 以取得完整條款。