azure-resource-lookup

azure-resource-lookup

熱門

列出、尋找及顯示跨訂閱或資源群組的 Azure 資源。可處理如「列出我訂閱中的網站」、「列出我的 Web 應用程式」、「顯示我的 App Service」、「列出虛擬機器」、「列出我的 VM」、「顯示儲存體帳戶」、「尋找容器應用程式」以及「我有哪些資源」等提示。用途:列出網站、列出 Web 應用程式、列出 App Service、顯示訂閱中的網站、資源盤點、依標籤尋找資源、標籤分析、孤兒資源探索(非成本分析)、未附加磁碟、依類型統計資源數量、跨訂閱查詢及 Azure Resource Graph 查詢。不適用於:部署/變更資源(請用 azure-deploy)、成本最佳化(請用 azure-cost)或非 Azure 雲端。

1196星標
196分支
更新於 2026/6/9
SKILL.md
readonlyread-only
name
azure-resource-lookup
description

列出、尋找及顯示跨訂閱或資源群組的 Azure 資源。可處理如「列出我訂閱中的網站」、「列出我的 Web 應用程式」、「顯示我的 App Service」、「列出虛擬機器」、「列出我的 VM」、「顯示儲存體帳戶」、「尋找容器應用程式」以及「我有哪些資源」等提示。用途:列出網站、列出 Web 應用程式、列出 App Service、顯示訂閱中的網站、資源盤點、依標籤尋找資源、標籤分析、孤兒資源探索(非成本分析)、未附加磁碟、依類型統計資源數量、跨訂閱查詢及 Azure Resource Graph 查詢。不適用於:部署/變更資源(請用 azure-deploy)、成本最佳化(請用 azure-cost)或非 Azure 雲端。

Azure Resource Lookup

列出、尋找及探索任何類型的 Azure 資源,範圍涵蓋多個訂閱與資源群組。當專屬 MCP 工具無法涵蓋特定資源類型時,使用 Azure Resource Graph (ARG) 進行快速、跨領域的查詢。

何時使用此技能

當使用者想要:

  • 列出資源(任何類型:VM、Web 應用程式、儲存體帳戶、容器應用程式、資料庫等)
  • 顯示資源(在特定訂閱或資源群組中)
  • 查詢跨多個訂閱或資源類型的資源
  • 尋找孤兒資源(未附加磁碟、未使用的 NIC、閒置 IP)
  • 發現缺少必要標籤或設定的資源
  • 取得涵蓋多種類型的資源盤點
  • 尋找處於特定狀態的資源(異常、佈建失敗、已停止)
  • 回答「我有哪些資源?」或「顯示我的 Azure 資源
  • 列出 Web 應用程式、網站或 App Service

⚠️ 警告: App Service / Web Apps 沒有專屬的 MCP list 命令。像「列出網站」、「列出 Web 應用程式」或「列出 App Service」這類提示必須透過此技能使用 Azure Resource Graph。

💡 提示: 對於單一資源類型的查詢,請先檢查是否有專屬 MCP 工具可以處理(請參閱下方路由表)。如果沒有,再使用 Azure Resource Graph。

快速參考

屬性
查詢語言 KQL (Kusto Query Language 子集)
CLI 命令 az graph query -q "<KQL>" -o table
擴充功能 az extension add --name resource-graph
MCP 工具 extension_cli_generate 搭配 az graph query 意圖
最佳用途 跨訂閱查詢、孤兒資源、標籤稽核

MCP 工具

工具 用途 使用時機
extension_cli_generate 產生 az graph query 命令 主要工具 — 根據使用者意圖產生 ARG 查詢
mcp_azure_mcp_subscription_list 列出可用的訂閱 查詢前先探索訂閱範圍
mcp_azure_mcp_group_list 列出資源群組 縮小查詢範圍

工作流程

步驟 1:檢查是否有專屬 MCP 工具

對於單一資源類型的查詢,請檢查是否有專屬 MCP 工具可以處理:

資源類型 MCP 工具 涵蓋範圍
虛擬機器 compute ✅ 完整 — 列出、詳細資料、大小
儲存體帳戶 storage ✅ 完整 — 帳戶、Blob、資料表
Cosmos DB cosmos ✅ 完整 — 帳戶、資料庫、查詢
Key Vault keyvault ⚠️ 部分 — 僅限祕密/金鑰,無保存庫列表
SQL 資料庫 sql ⚠️ 部分 — 需要資源群組名稱
容器登錄 acr ✅ 完整 — 列出登錄
Kubernetes (AKS) aks ✅ 完整 — 叢集、節點池
App Service / Web Apps appservice ❌ 無 list 命令 — 請使用 ARG
容器應用程式 ❌ 無 MCP 工具 — 請使用 ARG
Event Hubs eventhubs ✅ 完整 — 命名空間、中樞
Service Bus servicebus ✅ 完整 — 佇列、主題

如果專屬工具可用且涵蓋完整,請使用它。否則請繼續步驟 2。

步驟 2:產生 ARG 查詢

使用 extension_cli_generate 來建立 az graph query 命令:

mcp_azure_mcp_extension_cli_generate
  intent: "查詢 Azure Resource Graph 以 <使用者的請求>"
  cli-type: "az"

請參閱 Azure Resource Graph 查詢模式 以了解常見的 KQL 模式。

步驟 3:執行並格式化結果

執行產生的命令。使用 --query (JMESPath) 來調整輸出格式:

az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table

使用 --first N 來限制結果數量。使用 --subscriptions 來限定範圍。

錯誤處理

錯誤 原因 修正方式
resource-graph extension not found 未安裝擴充功能 az extension add --name resource-graph
AuthorizationFailed 無訂閱的讀取權限 檢查 RBAC — 需要 Reader 角色
BadRequest on query KQL 語法無效 確認資料表/欄位名稱;使用 =~ 進行不區分大小寫的類型比對
空結果 無符合的資源或範圍錯誤 檢查 --subscriptions 旗標;確認資源類型拼寫

限制

  • 一律使用 =~ 進行不區分大小寫的類型比對(類型皆為小寫)
  • 一律使用 --subscriptions--first 來限定大型租用戶的查詢範圍
  • 優先使用專屬 MCP 工具處理單一資源類型的查詢
  • 絕不使用 ARG 進行即時監控(資料有輕微延遲)
  • 絕不透過 ARG 嘗試修改操作(唯讀)