Azure DevOps 服務
遠端Azure DevOps MCP 伺服器是 Azure DevOps MCP Server 的託管版本,無需本地安裝。 你不必在機器上運行伺服器,而是透過可串流的 HTTP 傳輸,直接將 AI 助理連接到 Azure DevOps 託管的端點。
先選擇遠端
當環境支援時,使用 遠端 MCP 伺服器 。 遠端伺服器是推薦的選項,因為Azure DevOps會主機並更新它,你不需要安裝 Node.js 或管理本地伺服器程序。
當客戶端無法用 Microsoft Entra ID 認證遠端伺服器時,可以使用本地的 MCP 伺服器。 此限制目前適用於 Claude Desktop 與 Codex 等客戶端。 游標和 Claude Code 需要自訂的 Microsoft Entra 應用程式註冊來認證。 關於本地設定說明,請參見啟用 Azure DevOps MCP Server 的 AI 協助。
| Feature | 遠端 MCP 伺服器 | 本地 MCP 伺服器 |
|---|---|---|
| Installation | 不需要安裝 | 需要 Node.js 20.0+ 且 npx |
| 運輸 | 可串流 HTTP 协议 | stdio |
| 驗證 | Microsoft Entra ID (OAuth) | Azure DevOps PAT 或 Microsoft Entra ID |
| 主機托管 | Azure DevOps 託管服務 | 在你的電腦上本地執行 |
| Configuration | 極簡 mcp.json |
環境專屬設定 |
先決條件
| 類別 | 要求 |
|---|---|
| Azure DevOps | 一個由 Microsoft Entra 租戶支持的活躍 Azure DevOps 組織。 獨立的 Microsoft 帳戶(MSA)組織不支援遠端 MCP 伺服器的使用。 |
| 許可 | 專案成員資格及你想查詢的資源存取權 |
| 環境 | 支援的 AI 助理環境(參見 支援環境) |
mcp.json 配置
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http"
}
},
"inputs": []
}
你也可以在網址中省略組織名稱。 不過,如果你省略了組織名稱,必須在每次工具呼叫中提供它作為上下文。
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/",
"type": "http"
}
},
"inputs": []
}
工具
指定工具集以限制 MCP 伺服器可用的工具。 不應該與 X-MCP-Tools合併。
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "repos,wiki,wit"
}
}
},
"inputs": []
}
| 工具集價值 | 內建工具 |
|---|---|
all
(預設) |
所有工具 |
repos |
儲存庫與拉取請求工具 |
advsec |
進階安全警示工具 |
wit |
工作項目工具 以及 search_workitem |
pipelines |
管線與建置工具 |
wiki |
維基工具與 search_wiki |
work |
迭代與產能工具 |
testplan |
測試計畫工具 |
elm |
Enterprise Live Migration 工具(預覽;預設啟用) |
唯讀工具
使用 X-MCP-Readonly 標頭限制伺服器只能只讀。 當你想防止修改 Azure DevOps 資源時,這個限制非常有用。
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Readonly": "true"
}
}
},
"inputs": []
}
結合工具組與只讀篩選
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "repos,wiki,wit",
"X-MCP-Readonly": "true"
}
}
},
"inputs": []
}
個別工具
請使用 X-MCP-Tools 標頭只啟用特定工具。 不應該與 X-MCP-Toolsets合併。
指定出現在 可用工具 清單中的工具名稱。 對於整合工具 wit_work_item如 ,請在呼叫時使用工具參數 action 來選擇操作。
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Tools": "core_list_projects, wit_work_item"
}
}
},
"inputs": []
}
內測人員
隨著我們不斷嘗試並推出新工具及現有工具的更新,您可以通過使用X-MCP-Insiders標頭提前取得這些變更的搶先體驗。
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Insiders": "true"
}
}
},
"inputs": []
}
可用工具
備註
此清單可能不一定反映最新的工具更新。
核心工具
除非另有說明,核心工具隨時可用。
| Tool | 說明 |
|---|---|
core_list_orgs |
列出已認證使用者可存取的 Azure DevOps 組織 |
core_list_projects |
列出組織中的專案 |
core_list_project_teams |
在專案中列出團隊 |
core_list_group_members |
列出 Azure DevOps 群組的直接成員與子群組 |
備註
只有 MCP 內部人員能透過標core_list_group_members頭使用X-MCP-Insiders。
工作
工作工具會使用 action 參數整合至分組調度器中。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
work |
list_iterations |
列出專案中的所有迭代 | ✅ |
work |
list_team_iterations |
列出指派給團隊的迭代 | ✅ |
work |
get_team_settings |
取得團隊設定,包括預設迭代、待辦清單迭代和預設區域路徑 | ✅ |
work |
get_team_capacity |
取得某次迭代的團隊容量 | ✅ |
work |
get_iteration_capacities |
取得專案中該迭代內所有團隊的迭代產能 | ✅ |
work_iteration_write |
create |
建立迭代 | ❌ |
work_iteration_write |
assign |
將迭代指派給團隊 | ❌ |
work_capacity_write |
update |
針對特定迭代更新團隊成員的團隊容量 | ❌ |
Repos
儲存庫工具會使用 action 參數整併為群組調度器。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
repo_pull_request |
get |
透過 ID 取得拉取要求 | ✅ |
repo_pull_request |
list |
在儲存庫或專案中列出拉取請求 | ✅ |
repo_pull_request |
list_by_commits |
尋找包含特定 commit ID 的拉取請求 | ✅ |
repo_pull_request |
get_changes |
取得檔案變更及可選的逐行差異,用於拉取請求迭代 | ✅ |
repo_pull_request_thread |
list |
在拉取請求中列出留言串 | ✅ |
repo_pull_request_thread |
list_comments |
列出特定討論串中的留言 | ✅ |
repo_repository |
get |
用名稱或 ID 取得資料庫 | ✅ |
repo_repository |
list |
專案中的儲存庫列表 | ✅ |
repo_branch |
get |
以名稱取得分行 | ✅ |
repo_branch |
list |
在儲存庫中列出分支 | ✅ |
repo_branch |
list_mine |
列出目前使用者推送到的分支 | ✅ |
repo_file |
get_content |
取得檔案在特定分支、標籤或提交處的文字內容 | ✅ |
repo_file |
list_directory |
在目錄中列出檔案與資料夾,並可選擇遞迴列出 | ✅ |
repo_search_commits |
搜尋提交時可以根據文字、作者、日期範圍和其他條件進行篩選。 | ✅ | |
search_code |
全文代碼搜尋 | ✅ | |
repo_pull_request_write |
create |
建立提取要求 | ❌ |
repo_pull_request_write |
update |
更新拉取請求,包括設定自動補全 | ❌ |
repo_pull_request_write |
update_reviewers |
新增或移除拉取請求審查員 | ❌ |
repo_pull_request_write |
vote |
針對合併請求進行投票 | ❌ |
repo_pull_request_thread_write |
create |
在拉取請求下建立一個新的留言串 | ❌ |
repo_pull_request_thread_write |
reply |
回覆討論串中的留言 | ❌ |
repo_pull_request_thread_write |
update_status |
更新留言串的狀態 | ❌ |
repo_create_branch |
建立分支 | ❌ |
機智
工作項目工具會使用 action 參數整合至分組分派器中。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
wit_work_item |
get |
依 ID 取得工作項目 | ✅ |
wit_work_item |
get_batch |
根據 ID 取得多個工作項目 | ✅ |
wit_work_item |
list_comments |
列出工作項目的註解 | ✅ |
wit_work_item |
my |
取得與已認證使用者相關的工作項目 | ✅ |
wit_work_item |
list_revisions |
列出工作項目的修訂 | ✅ |
wit_work_item |
list_for_iteration |
列出團隊迭代的工作項目 | ✅ |
wit_work_item |
get_type |
取得工作項目類型的元資料 | ✅ |
wit_query |
get |
依 ID 或路徑查詢 | ✅ |
wit_query |
get_results |
執行已儲存的查詢 | ✅ |
wit_query |
search |
依名稱搜尋查詢 | ✅ |
wit_query |
list |
列表根查詢資料夾及其子目錄 | ✅ |
wit_query_by_wiql |
執行 WIQL 查詢並回傳匹配的工作項目 | ✅ | |
wit_backlog |
list |
列出團隊的待辦工作層級 | ✅ |
wit_backlog |
list_work_items |
將工作項目列在特定的待辦清單層級 | ✅ |
search_workitem |
工作項目全文搜尋 | ✅ | |
wit_work_item_write |
create |
建立一個新的工作項目 | ❌ |
wit_work_item_write |
update |
工作項目中的欄位更新 | ❌ |
wit_work_item_write |
update_batch |
一次通話中更新多個工作項目 | ❌ |
wit_work_item_write |
add_child |
在父目錄下建立子工作項目 | ❌ |
wit_work_item_comment_write |
add |
在工作項目中新增註解 | ❌ |
wit_work_item_comment_write |
update |
更新工作項目上的現有留言 | ❌ |
wit_work_item_link_write |
link |
連結兩個工作項目 | ❌ |
wit_work_item_link_write |
unlink |
移除工作項目中的連結 | ❌ |
wit_work_item_link_write |
link_to_pull_request |
將工作項目連結到拉取請求 | ❌ |
wit_work_item_link_write |
add_artifact_link |
新增一個儲存庫、分支、提交、建置或維基工件連結到工作項目 | ❌ |
wit_work_item_attachment |
依 ID 下載工作項目附件;回傳帶有檔名與 MIME 類型的 base64 編碼內容 | ✅ | |
wit_work_item_attachment_upload |
將檔案內容(最多 20 MB,Base64 編碼)上傳到附件儲存庫,但不要將其附加到工作項目 | ❌ | |
wit_work_item_attachment_link |
將先前上傳的附件連結到工作項目 | ❌ |
備註
wit_query_by_wiql 目前僅提供給使用 X-MCP-Insiders 標頭的 MCP 內部人士。
Pipelines
管線工具會使用 action 參數整併到分組的分派器中。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
pipelines_build |
list |
可選篩選器的列表建構 | ✅ |
pipelines_build |
get_status |
取得建置狀態、問題及報告元資料 | ✅ |
pipelines_build |
get_changes |
取得與建構相關的提交和工作項目 | ✅ |
pipelines_build_log |
list |
列出可用於建置的日誌 | ✅ |
pipelines_build_log |
get_content |
透過 ID 取得特定日誌的文字內容 | ✅ |
pipelines_definition |
list |
列出帶有可選過濾器的管線定義 | ✅ |
pipelines_definition |
list_revisions |
列出管線定義的修訂歷程 | ✅ |
pipelines_run |
get |
取得單一管線執行結果 | ✅ |
pipelines_run |
list |
列出管線的執行紀錄 | ✅ |
pipelines_artifact |
list |
為建構列出文物 | ✅ |
pipelines_artifact |
download |
下載一個已命名的建置產物 | ✅ |
pipelines_write |
run_pipeline |
排入新管線運行的隊列 | ❌ |
pipelines_write |
create_pipeline |
建立新的 YAML 管線定義 | ❌ |
pipelines_write |
update_build_stage |
取消、重試或在飛行中組裝時執行關卡 | ❌ |
維基
維基閱讀作業整合成單一 wiki 工具。 使用參數 action 來選擇操作。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
wiki |
list_wikis |
在專案或組織中列出維基 | ✅ |
wiki |
get_wiki |
以識別碼獲取維基 | ✅ |
wiki |
list_pages |
維基中的列表頁面 | ✅ |
wiki |
get_page |
取得頁面內容與元資料 | ✅ |
search_wiki |
全文維基搜尋 | ✅ | |
wiki_upsert_page |
建立或更新維基頁面 | ❌ |
測試計劃
測試計畫工具會整合成使用參數 action 的分組調度器。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
testplan |
list_plans |
在專案中列出測試計畫 | ✅ |
testplan |
list_suites |
列出測試計畫下的測試套件 | ✅ |
testplan |
list_cases |
在測試套件中列出測試案例 | ✅ |
testplan_show_test_results_from_build_id |
從建置中取得測試結果 | ✅ | |
testplan_test_run |
get_results |
取得測試執行的結果,並可選擇套用詳細資料與結果篩選條件 | ✅ |
testplan_test_plan_write |
create |
建立測試計劃 | ❌ |
testplan_test_suite_write |
create |
建立測試套件 | ❌ |
testplan_test_suite_write |
add_test_cases |
將測試案例加入套件 | ❌ |
testplan_test_case_write |
create |
建立測試案例 | ❌ |
testplan_test_case_write |
update_steps |
更新測試案例步驟 | ❌ |
testplan_test_run_write |
create_run |
建立手動測試執行 | ❌ |
testplan_test_run_write |
update_results |
更新執行中測試結果的結果與詳細資料 | ❌ |
testplan_test_run_write |
complete_run |
根據測試結果完成或中止測試 | ❌ |
testplan_test_run_write |
update_test_point_outcome |
更新或重設測試點的結果 | ❌ |
進階安全性
進階安全工具整合成一個群組的調度器,並使用參數 action 。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
advsec_alerts |
list |
列出帶有可選篩選功能的儲存庫的進階安全警示 | ✅ |
advsec_alerts |
get |
依 ID 獲取進階安全警示 | ✅ |
企業級即時移轉(預覽)
Enterprise Live Migration 工具使用 action 參數來分組與派遣任務。
了解更多 關於企業即時遷移預覽的資訊。
這很重要
遠端 Azure DevOps MCP Server 的 ELM 支援目前處於預覽階段。 這些工具預設是啟用的。
| Tool | Action | 說明 | 唯讀 |
|---|---|---|---|
enterprise_live_migration |
list |
列出組織的遷移;可選的專案過濾器與包含AllMigrations 旗標 | ✅ |
enterprise_live_migration |
get |
取得儲存庫的遷移狀態 | ✅ |
enterprise_live_migration |
get_cutover_review |
在轉換前找出失敗或遭封鎖的項目 | ✅ |
enterprise_live_migration |
get_device_flow_config |
取得 GitHub 應用程式裝置流程設定 | ✅ |
enterprise_live_migration |
list_pipelines |
列出管線與重新配線狀態 | ✅ |
enterprise_live_migration_write |
create |
建立新的遷移 | ❌ |
enterprise_live_migration_write |
pause |
暫停活躍的遷徙 | ❌ |
enterprise_live_migration_write |
resume |
恢復暫停的遷徙 | ❌ |
enterprise_live_migration_write |
cutover_set |
安排轉接日期 | ❌ |
enterprise_live_migration_write |
cutover_cancel |
取消已排定的切換 | ❌ |
enterprise_live_migration_write |
approve_cutover |
接受失敗情況並繼續進行切換作業 | ❌ |
enterprise_live_migration_write |
abandon |
永久刪除移轉 | ❌ |
enterprise_live_migration_pipelines_write |
submit |
提交管線以進行重新配線 | ❌ |
enterprise_live_migration_pipelines_write |
update |
更新管線重新配線設定 | ❌ |
enterprise_live_migration_pipelines_write |
delete |
刪除所有管線克隆以進行終端遷移 | ❌ |
若要僅提供企業即時遷移工具,請使用 X-MCP-Toolsets 帶有 elm 以下值的標頭:
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "elm"
}
}
},
"inputs": []
}
支援的環境
遠端 Azure DevOps MCP 伺服器需要你的使用者帳號和 Azure DevOps 組織才能連接到 Microsoft Entra ID。
並非所有 MCP 用戶端預設都支援 Microsoft Entra 認證。 有些環境需要額外步驟來註冊客戶端應用程式。
當 Microsoft Entra 認證可用時,遠端端點所支援的環境包括:
- Visual Studio 搭配 GitHub Copilot
- Visual Studio
- Microsoft Foundry
- Microsoft Copilot Studio
- GitHub Copilot 命令列界面 (CLI)
- GitHub Copilot 應用程式
- 游標桌面、游標雲端代理,或是 Claude Code,搭配自訂的 Microsoft Entra 應用程式註冊
這很重要
Claude Desktop 和 Codex 目前不支援遠端 Azure DevOps MCP 伺服器所需的 Microsoft Entra 認證流程。 使用 本地的 MCP 伺服器 搭配這些用戶端。
Visual Studio Code
要在 Visual Studio Code 中設定遠端 MCP 伺服器:
- 將
.vscode/mcp.json檔案新增到你的儲存庫,並使用前面顯示的mcp.json 設定。 - 儲存檔案。
- 用 VS Code 開啟 GitHub Copilot。
- 當提示時,請使用您的 Microsoft Entra 帳號進行驗證並選擇您的帳號。
認證完成後,會出現可用工具清單。
Visual Studio(2022 及以後版本)
在 Visual Studio 中設定遠端 MCP 伺服器,方法是將伺服器網址加入你的 MCP 設定中。 欲了解更多資訊,請參閱 在 Visual Studio 中使用 MCP 伺服器。
為自訂客戶端選擇 OAuth 權限範圍
註冊自訂 MCP 用戶端時,只授予該用戶端執行 Azure DevOps 操作所需的委派權限。 OAuth 範圍決定了客戶端可存取哪些 Azure DevOps 資源與操作。 啟用 MCP 工具或工具組不會授予額外權限。
遵循最小特權原則:
- 當用戶端僅使用唯讀 MCP 工具時,授予讀取範圍。
- 只有當客戶端需要相應的寫入操作時,才授予寫入或管理範圍。
- 檢視繼承的範圍以避免授予冗餘權限。
關於可用的範圍及其關係,請參見 OAuth 範圍。
OAuth 範圍不會覆蓋已登入使用者的權限。 MCP 操作只有在應用程式範圍與使用者 Azure DevOps 權限都允許時才會成功。
Cursor
Cursor 需要自訂 Microsoft Entra 應用程式註冊才能存取遠端 Azure DevOps MCP Server。
為 Cursor 桌面版註冊應用程式
- 確認你的租戶中有配置 Azure DevOps MCP 企業應用程式。 如果找不到,請參考租戶中的「找不到 Azure DevOps MCP 企業應用程式」。
- 在 Microsoft Entra 系統管理中心中,移至 應用程式註冊,然後建立應用程式註冊。
- 在應用程式註冊中,選擇驗證(預覽)>新增 URI >行動版及桌面版應用程式的重定向。
- 輸入
http://localhost:8787/callback重定向 URI,然後儲存你的變更。 - 在 認證(預覽) 頁面,選擇 設定 標籤,然後啟用 允許公開客戶端流程。
- 在 API 權限 頁面上,選取 新增權限>。
- 搜尋 Azure DevOps MCP 或應用程式 ID
2a72489c-aab2-4b65-b93a-a91edccf33b8,然後選擇該應用程式。 - 依照 OAuth 範圍指引,選擇客戶所需的委派權限,然後選擇 新增權限。
- 選取 [授與管理員同意]。 根據你的職務,租戶管理員可能需要完成此步驟。
從應用程式註冊中複製應用程式 (客戶端)ID 。 你需要這個值來設定游標。
設定游標桌面
在游標中,打開 設定>工具與 MCP。
選擇 新的 MCP 伺服器。
新增以下設定,並以你複製的應用程式(用戶端)ID 替換
{client-id}:{ "mcpServers": { "ado": { "url": "https://mcp.dev.azure.com", "type": "http", "auth": { "CLIENT_ID": "{client-id}" } } } }儲存設定後,回到 設定>工具和 MCP。
找到 ado 伺服器,然後選擇 驗證。
設定游標雲端代理
游標雲端代理程式除了自訂 Microsoft Entra 應用程式註冊外,還需要網頁重定向 URI 和用戶端秘密。
在 Microsoft Entra 系統管理中心 中,開啟你為游標建立的應用程式註冊。
選取 驗證(預覽)>新增重新導向 URI>Web。
輸入
https://www.cursor.com/agents/mcp/oauth/callback重定向 URI,然後儲存你的變更。選取 [憑證和祕密]>[用戶端密碼]>[新增用戶端密碼]。
輸入描述,選擇有效期限,然後選擇 新增。
複製用戶端密碼值。 該數值只出現一次。
在游標中,打開 Cloud Agents 的 MCP 伺服器設定,然後新增或編輯自訂的 MCP 伺服器。
將伺服器網址設為
https://mcp.dev.azure.com。在 Client ID 輸入應用程式註冊時的應用程式(用戶端)ID,在 Client Secret 輸入用戶端秘密值。
或者,編輯 JSON 設定,並用你的應用程式註冊值替換佔位符:
{ "mcpServers": { "ado": { "url": "https://mcp.dev.azure.com", "type": "http", "auth": { "CLIENT_ID": "{client-id}", "CLIENT_SECRET": "{client-secret}" } } } }儲存設定後,選擇從游標雲端代理登入完成 Microsoft Entra 驗證。
這很重要
把客戶端秘密當成密碼來處理。 不要把它提交到版本控制系統。 在它到期前,建立一個替代秘密並更新游標雲端代理設定。
如果 Microsoft Entra 回傳錯誤AADSTS50011,請確認網頁重定向的 URI 是否完全符合https://www.cursor.com/agents/mcp/oauth/callback。 若權杖交換失敗並出現錯誤 AADSTS7000218,請確認目前的用戶端密鑰值已在 Cursor Cloud Agents 中設定。
克勞德密碼
Claude Code 需要自訂 Microsoft Entra 應用程式註冊,才能存取遠端 Azure DevOps MCP Server。
註冊應用程式
- 確認你的租戶中有配置 Azure DevOps MCP 企業應用程式。 如果找不到,請參考租戶中的「找不到 Azure DevOps MCP 企業應用程式」。
- 在 Microsoft Entra 系統管理中心中,移至 應用程式註冊,然後建立應用程式註冊。
- 在應用程式註冊中,選擇驗證(預覽)>新增 URI >行動版及桌面版應用程式的重定向。
- 輸入
http://localhost:3118/callback重定向 URI,然後儲存你的變更。 - 在 認證(預覽) 頁面,選擇 設定 標籤,然後啟用 允許公開客戶端流程。
- 在 API 權限 頁面上,選取 新增權限>。
- 搜尋 Azure DevOps MCP 或應用程式 ID
2a72489c-aab2-4b65-b93a-a91edccf33b8,然後選擇該應用程式。 - 依照 OAuth 範圍指引,選擇客戶所需的委派權限,然後選擇 新增權限。
- 選取 [授與管理員同意]。 根據你的職務,租戶管理員可能需要完成此步驟。
從應用程式註冊中複製應用程式 (客戶端)ID 。 你需要這個值來設定 Claude Code。
配置 Claude 程式碼
執行以下指令,替換
{client-id}為你複製的應用程式(客戶端)ID,並{organization}替換成你的 Azure DevOps 組織名稱:claude mcp add --transport http ado https://mcp.dev.azure.com/{organization} \ --client-id {client-id} --callback-port 3118或者,在你的儲存庫根目錄建立
.mcp.json一個檔案,設定如下:{ "mcpServers": { "ado": { "type": "http", "url": "https://mcp.dev.azure.com/{organization}", "oauth": { "clientId": "{client-id}", "callbackPort": 3118 } } } }啟動 Claude 程式碼時執行
claude。執行
/mcp,然後依照瀏覽器登入流程與你的 Microsoft Entra 帳號進行驗證。
欲了解更多這些選項,請參閱 「透過 MCP 連接 Claude 程式碼與工具」。
驗證連線
設定完成後,請透過詢問你的 AI 助理關於 Azure DevOps 資料的問題,確認遠端 MCP 伺服器是否正常運作。
範例:
- 「列出我 Azure DevOps 組織裡的專案。」
- 「展示我分配的工作項目。」
- 「哪些拉取請求需要我審核?」
如果 AI 助理回傳了來自 Azure DevOps 組織的結果,代表遠端 MCP 伺服器設定正確。
利用 AI 驗證並排除遠端 MCP 設定問題
以下 Copilot Chat 範例提示,幫助您選擇合適的 MCP 方法、設定與驗證遠端設定、改善日常使用提示,並在需要時排除故障。 將這些提示複製貼上到 Copilot Chat,並用你的實際組織、客戶和錯誤細節替換佔位符。
| 任務 | 範例提示 |
|---|---|
| 選擇遠端還是本地 | For my environment and client tools, help me decide whether to use the remote Azure DevOps MCP Server or the local server, and explain the tradeoffs. |
| 建立一個最小權限的設定 | Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode. |
驗證 mcp.json 設定 |
Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code. |
| 驗證認證假設 | Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>. |
| 改善日常工作的查詢提示 | Give me better prompt wording to reliably fetch fresh Azure DevOps data from remote MCP for project <project-name>, including how to avoid stale results. |
| 診斷連線遭拒 | I'm getting Connection Refused when connecting to https://mcp.dev.azure.com/<organization>. Give me step-by-step network, proxy, and firewall checks to fix it. |
| 診斷缺失資料 | The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context. |
| 除錯工具的標頭篩選 | Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing. |
Copilot 由 AI 驅動,因此意外與失誤是有可能的。 欲了解更多資訊,請參閱 Copilot 一般使用常見問題。
Troubleshooting
| Issue | 解決方法 |
|---|---|
| 認證失敗 | 驗證你的 Microsoft Entra 憑證,並確認你有權限存取 Azure DevOps 組織。 |
| 找不到伺服器 | 請檢查伺服器網址格式: https://mcp.dev.azure.com/{organization}。 |
| 連線被拒 | 確認你的網路是否允許 HTTP 輸出到 mcp.dev.azure.com。 如果你使用的是企業代理或防火牆,請管理員將該端點列入允許名單,並不使用 VPN 重試,以隔離網路路徑問題。 |
| 沒有回傳資料 | 確認你對被查詢的專案或資源擁有適當的權限。 |
| ELM 工具目前沒有提供 | ELM 工具預設已啟用。 如果你限制可用的工具組,請確認 X-MCP-Toolsets 標頭是否包含 elm。 然後重新連接 MCP 伺服器,確認你的身份擁有所需的 Azure DevOps 權限。 關於先決條件,請參閱 企業即時遷移總覽。 |
對於支援,你可以在 本地 MCP 伺服器 儲存庫中建立一個問題。 務必使用 遠端 議題範本。
FAQ
那像 Claude Desktop 或 Codex 這類客戶端呢?
Claude Desktop 與 Codex 要求在使用 Microsoft Entra ID 中動態註冊 OAuth 用戶端 ID,才能使用遠端 MCP 伺服器。 Microsoft Entra ID 目前不支援這些用戶端所需的動態客戶端註冊流程。 使用 本地的 MCP 伺服器 搭配這些用戶端。