Azure DevOps MCP vs REST API vs CLI vs Git:功能、權限與使用情境完整比較

比較前提:

  • 不考慮目前機器是否安裝。
  • 假設已完成認證並具備所需權限。
  • MCP 假設啟用全部 domains/toolsets。
  • Azure CLI 假設安裝 Azure DevOps extension。
  • REST API 假設使用具有完整必要 scope 的 Entra Token 或 PAT。

符號:

  • ✅:完整或主要支援
  • ⚠️:部分支援,仍可能需要 Git 或 REST API 補足
  • ❌:不支援
作業範圍Azure DevOps MCP本機 GitAzure CLIAzure DevOps REST API
Clone/Fetch repo⚠️ 通常交給 Git✅⚠️ 通常交給 Git⚠️ 可讀 Git objects,但不適合取代 Git
讀取原始碼✅✅⚠️✅
搜尋原始碼✅✅⚠️✅
編輯本機檔案❌✅❌❌
本機建置/測試❌✅❌❌
查看 commit 歷史✅✅✅✅
建立 commit❌✅❌⚠️ 可透過 Git Push API,但不實用
查看 branch/tag/ref✅✅✅✅
建立/刪除/鎖定 branch ref✅✅✅✅
Push commit/branch❌✅⚠️ 通常交給 Git⚠️ 可用 Git Push API,但不適合一般開發
查看 PR✅⚠️ 只能讀 Git ref 與 merge commit✅✅
建立/更新/放棄 PR✅❌✅✅
查看 PR 程式差異✅✅✅✅
查看 PR reviewer/vote✅❌✅✅
新增/移除 reviewer✅❌✅✅
PR 投票/核准/拒絕✅❌✅✅
查看 PR discussion/thread✅❌⚠️ CLI 支援有限✅
新增/回覆/關閉 PR comment✅❌⚠️ CLI 支援有限✅
設定 PR auto-complete/merge strategy✅❌✅✅
管理 PR labels✅❌⚠️✅
關聯/解除 Work Item✅❌✅✅
讀取 Work Item✅❌✅✅
搜尋/執行 WIQL✅❌✅✅
建立/更新/刪除 Work Item✅❌✅✅
管理 Work Item relations✅❌✅✅
讀取 Work Item comments✅❌⚠️✅
管理 Area/Iteration✅❌✅✅
管理 Team capacity✅❌⚠️✅
查看 Pipeline 定義✅⚠️ 只能讀 YAML✅✅
建立/更新 Pipeline⚠️ 視 MCP 工具⚠️ 只能修改 YAML✅✅
執行/取消 Pipeline✅❌✅✅
查看 Build/Run 狀態✅❌✅✅
查看 Pipeline logs✅❌✅✅
上傳/下載 Pipeline artifacts⚠️❌✅✅
管理 Release Pipeline⚠️❌✅✅
查看 Test Plan/Suite/Case✅❌❌/非常有限✅
建立/更新 Test Plan/Suite/Case✅ 部分支援❌❌/非常有限✅
查看 Test Run/Test Result✅❌⚠️✅
查看 Wiki/頁面✅⚠️ Code Wiki 可當 Git repo 讀取✅✅
建立/更新 Wiki 頁面✅⚠️ 僅 Code Wiki 可透過 Git 修改✅✅
管理 Azure Artifacts feed/package❌/有限❌✅✅
管理 Branch Policies⚠️❌✅✅
管理 Repository 權限❌/有限❌⚠️✅
管理專案/團隊⚠️ 主要為查詢❌✅✅
管理使用者/Identity⚠️ 主要為查詢❌⚠️✅
管理 Service Hooks❌❌⚠️✅
查看 Audit Log❌❌❌/有限✅
Advanced Security alerts✅❌⚠️✅
管理 Variable Groups/Secure Files❌/有限❌✅ 部分支援✅
Azure DevOps Server 支援Local MCP 可能支援,依認證而定✅❌ CLI 只支援 Azure DevOps Services✅,依 API 版本
適合互動式 AI 操作✅ 最適合⚠️ 適合程式碼層⚠️⚠️ 需自行組 API
適合自動化腳本⚠️✅ Git 自動化✅✅ 最彈性
平台功能覆蓋程度高,但受工具清單限制僅 Git 資料中高最高
操作精細度受 MCP schema 限制Git 層級最完整受 CLI command 限制最高,可直接控制 request
開發程式碼能力⚠️ 讀取為主✅ 最完整❌❌

各模式的能力上限

模式最大能力定位無法取代的部分
Azure DevOps MCP以自然語言操作 Repos、PR、Work Items、Pipelines、Wiki、Test Plans、Advanced Security本機檔案編輯、建置、測試及完整 Git 工作流
本機 Git完整處理原始碼、branch、commit、merge、rebase、tag、PR Git ref、pushPR 留言、reviewer、Work Item、Pipeline、Test Plan 等平台資料
Azure CLI命令列管理 Repos、PR、Boards、Pipelines、Artifacts、Wiki 與部分組織設定並非所有 Azure DevOps API 都有對應 CLI command
Azure DevOps REST APIAzure DevOps 平台功能覆蓋最廣,可直接控制 request、欄位、版本與批次操作不負責本機程式碼編輯、建置與一般 Git 工作流

Azure DevOps MCP 全部啟用時的主要範圍

官方 Azure DevOps MCP 可啟用下列 domains/toolsets:

Local MCP domainRemote MCP toolset功能
core內含核心工具組織、專案、團隊、Identity
repositoriesreposRepository、branch、commit、PR、review
work-itemswitWork Item、WIQL、comments、relations
workworkIteration、Team capacity
pipelinespipelinesPipeline、Build、Run、logs
wikiwikiWiki 與頁面
test-planstestplanTest Plan、Suite、Case、Result
search分散在相關 toolsetCode、Work Item、Wiki 搜尋
advanced-securityadvsecAdvanced Security alerts
—elmEnterprise Live Migration

選擇建議

需求最適合方式
修改、建置、測試與提交程式本機 Git+開發工具
讓 AI 操作 PR、Work Item 或 PipelineAzure DevOps MCP
撰寫維運或 CI 管理腳本Azure CLI
操作 CLI/MCP 尚未支援的 Azure DevOps 功能REST API
需要完整 Azure DevOps 平台覆蓋REST API
需要完整開發工作流本機 Git+MCP 或 REST API

核心結論

  • REST API 的平台功能覆蓋最廣,但需要自行處理 endpoint、認證、request 與 response。
  • MCP 是提供給 AI 使用的高階封裝,操作方便,但最大能力受 MCP 暴露的工具限制。
  • Azure CLI 適合人員與腳本操作,但並未封裝全部 Azure DevOps API。
  • 本機 Git 在程式碼與版本控制方面能力最完整,但無法讀取 Azure DevOps 平台層的資料。
  • 實務上的最大能力組合是:本機 Git 負責程式碼,MCP 負責常用 Azure DevOps 操作,REST API 補足 MCP 未提供的功能。

發表留言