azure-resource-lookup by microsoft/azure-skills
npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup列出、查找和发现跨订阅和资源组的任何类型的 Azure 资源。当专用的 MCP 工具无法覆盖资源类型时,使用 Azure Resource Graph (ARG) 进行快速、跨领域的查询。
当用户想要执行以下操作时,请使用此技能:
💡 提示: 对于单一资源类型的查询,请首先检查是否有专用的 MCP 工具可以处理(见下文路由表)。如果不存在,则使用 Azure Resource Graph。
| 属性 | 值 |
|---|---|
| 查询语言 | KQL (Kusto Query Language 子集) |
| CLI 命令 | az graph query -q "<KQL>" -o table |
List, find, and discover Azure resources of any type across subscriptions and resource groups. Use Azure Resource Graph (ARG) for fast, cross-cutting queries when dedicated MCP tools don't cover the resource type.
Use this skill when the user wants to:
💡 Tip: For single-resource-type queries, first check if a dedicated MCP tool can handle it (see routing table below). If none exists, use Azure Resource Graph.
| Property | Value |
|---|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
暂无相关 Skills
| 扩展 | az extension add --name resource-graph |
| MCP 工具 | extension_cli_generate,意图为 az graph query |
| 最适合 | 跨订阅查询、孤立资源、标签审计 |
| 工具 | 用途 | 何时使用 |
|---|---|---|
extension_cli_generate | 生成 az graph query 命令 | 主要工具 — 根据用户意图生成 ARG 查询 |
mcp_azure_mcp_subscription_list | 列出可用订阅 | 在查询前发现订阅范围 |
mcp_azure_mcp_group_list | 列出资源组 | 缩小查询范围 |
对于单一资源类型的查询,检查是否有专用的 MCP 工具可以处理:
| 资源类型 | MCP 工具 | 覆盖范围 |
|---|---|---|
| 虚拟机 | compute | ✅ 完整 — 列表、详细信息、大小 |
| 存储账户 | storage | ✅ 完整 — 账户、Blob、表 |
| Cosmos DB | cosmos | ✅ 完整 — 账户、数据库、查询 |
| 密钥保管库 | keyvault | ⚠️ 部分 — 仅限密钥/机密,无保管库列表 |
| SQL 数据库 | sql | ⚠️ 部分 — 需要资源组名称 |
| 容器注册表 | acr | ✅ 完整 — 列出注册表 |
| Kubernetes (AKS) | aks | ✅ 完整 — 集群、节点池 |
| 应用服务 / Web 应用 | appservice | ❌ 无列表命令 — 使用 ARG |
| 容器应用 | — | ❌ 无 MCP 工具 — 使用 ARG |
| 事件中心 | eventhubs | ✅ 完整 — 命名空间、中心 |
| 服务总线 | servicebus | ✅ 完整 — 队列、主题 |
如果有可用的专用工具且覆盖完整,请使用它。否则,请继续步骤 2。
使用 extension_cli_generate 来构建 az graph query 命令:
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <user's request>"
cli-type: "az"
有关常见的 KQL 模式,请参阅 Azure Resource Graph 查询模式。
运行生成的命令。使用 --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 | 无效的 KQL 语法 | 验证表/列名;使用 =~ 进行不区分大小写的类型匹配 |
| 结果为空 | 无匹配资源或范围错误 | 检查 --subscriptions 标志;验证资源类型拼写 |
=~ 进行不区分大小写的类型匹配(类型为小写)--subscriptions 或 --first 为大租户限定查询范围每周安装量
12.9K
代码仓库
GitHub 星标
2
首次出现
5 天前
安全审计
安装于
github-copilot12.9K
opencode17
codex17
gemini-cli17
amp16
cline16
| KQL (Kusto Query Language subset) |
| CLI Command | az graph query -q "<KQL>" -o table |
| Extension | az extension add --name resource-graph |
| MCP Tool | extension_cli_generate with intent for az graph query |
| Best For | Cross-subscription queries, orphaned resources, tag audits |
| Tool | Purpose | When to Use |
|---|---|---|
extension_cli_generate | Generate az graph query commands | Primary tool — generate ARG queries from user intent |
mcp_azure_mcp_subscription_list | List available subscriptions | Discover subscription scope before querying |
mcp_azure_mcp_group_list | List resource groups | Narrow query scope |
For single-resource-type queries, check if a dedicated MCP tool can handle it:
| Resource Type | MCP Tool | Coverage |
|---|---|---|
| Virtual Machines | compute | ✅ Full — list, details, sizes |
| Storage Accounts | storage | ✅ Full — accounts, blobs, tables |
| Cosmos DB | cosmos | ✅ Full — accounts, databases, queries |
| Key Vault | keyvault | ⚠️ Partial — secrets/keys only, no vault listing |
| SQL Databases | sql | ⚠️ Partial — requires resource group name |
| Container Registries | acr | ✅ Full — list registries |
| Kubernetes (AKS) | aks | ✅ Full — clusters, node pools |
| App Service / Web Apps | appservice | ❌ No list command — use ARG |
| Container Apps | — | ❌ No MCP tool — use ARG |
| Event Hubs | eventhubs | ✅ Full — namespaces, hubs |
| Service Bus | servicebus | ✅ Full — queues, topics |
If a dedicated tool is available with full coverage, use it. Otherwise proceed to Step 2.
Use extension_cli_generate to build the az graph query command:
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <user's request>"
cli-type: "az"
See Azure Resource Graph Query Patterns for common KQL patterns.
Run the generated command. Use --query (JMESPath) to shape output:
az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table
Use --first N to limit results. Use --subscriptions to scope.
| Error | Cause | Fix |
|---|---|---|
resource-graph extension not found | Extension not installed | az extension add --name resource-graph |
AuthorizationFailed | No read access to subscription | Check RBAC — need Reader role |
BadRequest on query | Invalid KQL syntax | Verify table/column names; use =~ for case-insensitive type matching |
| Empty results | No matching resources or wrong scope | Check --subscriptions flag; verify resource type spelling |
=~ for case-insensitive type matching (types are lowercase)--subscriptions or --first for large tenantsWeekly Installs
12.9K
Repository
GitHub Stars
2
First Seen
5 days ago
Security Audits
Installed on
github-copilot12.9K
opencode17
codex17
gemini-cli17
amp16
cline16