比較前提:
- 不考慮目前機器是否安裝。
- 假設已完成認證並具備所需權限。
- MCP 假設啟用全部 domains/toolsets。
- Azure CLI 假設安裝 Azure DevOps extension。
- REST API 假設使用具有完整必要 scope 的 Entra Token 或 PAT。
符號:
- ✅:完整或主要支援
- ⚠️:部分支援,仍可能需要 Git 或 REST API 補足
- ❌:不支援
| 作業範圍 | Azure DevOps MCP | 本機 Git | Azure CLI | Azure 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、push | PR 留言、reviewer、Work Item、Pipeline、Test Plan 等平台資料 |
| Azure CLI | 命令列管理 Repos、PR、Boards、Pipelines、Artifacts、Wiki 與部分組織設定 | 並非所有 Azure DevOps API 都有對應 CLI command |
| Azure DevOps REST API | Azure DevOps 平台功能覆蓋最廣,可直接控制 request、欄位、版本與批次操作 | 不負責本機程式碼編輯、建置與一般 Git 工作流 |
Azure DevOps MCP 全部啟用時的主要範圍
官方 Azure DevOps MCP 可啟用下列 domains/toolsets:
| Local MCP domain | Remote MCP toolset | 功能 |
|---|
core | 內含核心工具 | 組織、專案、團隊、Identity |
repositories | repos | Repository、branch、commit、PR、review |
work-items | wit | Work Item、WIQL、comments、relations |
work | work | Iteration、Team capacity |
pipelines | pipelines | Pipeline、Build、Run、logs |
wiki | wiki | Wiki 與頁面 |
test-plans | testplan | Test Plan、Suite、Case、Result |
search | 分散在相關 toolset | Code、Work Item、Wiki 搜尋 |
advanced-security | advsec | Advanced Security alerts |
| — | elm | Enterprise Live Migration |
選擇建議
| 需求 | 最適合方式 |
|---|
| 修改、建置、測試與提交程式 | 本機 Git+開發工具 |
| 讓 AI 操作 PR、Work Item 或 Pipeline | Azure 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 未提供的功能。