microsoft/azure-skills

azure-resource-lookup

List, find, and show Azure resources across subscriptions or resource groups.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Azure Resource Lookup

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.

When to Use This Skill

Use this skill when the user wants to:

  • List resources of any type (VMs, web apps, storage accounts, container apps, databases, etc.)
  • Show resources in a specific subscription or resource group
  • Query resources across multiple subscriptions or resource types
  • Find orphaned resources (unattached disks, unused NICs, idle IPs)
  • Discover resources missing required tags or configurations
  • Get a resource inventory spanning multiple types
  • Find resources in a specific state (unhealthy, failed provisioning, stopped)
  • Answer "what resources do I have?" or "show me my Azure resources"
  • List web apps, websites, or App Services
⚠️ Warning: App Service / Web Apps have no dedicated MCP list command. Prompts like "list websites", "list web apps", or "list app services" must route through this skill to use Azure Resource Graph.
💡 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.

Quick Reference

PropertyValue
Query LanguageKQL (Kusto Query Language subset)
CLI Commandaz graph query -q "<KQL>" -o table
Extensionaz extension add --name resource-graph
MCP Toolextension_cli_generate with intent for az graph query
Best ForCross-subscription queries, orphaned resources, tag audits

MCP Tools

ToolPurposeWhen to Use
extension_cli_generateGenerate az graph query commandsPrimary tool — generate ARG queries from user intent
mcp_azure_mcp_subscription_listList available subscriptionsDiscover subscription scope before querying
mcp_azure_mcp_group_listList resource groupsNarrow query scope

Workflow

Step 1: Check for a Dedicated MCP Tool

For single-resource-type queries, check if a dedicated MCP tool can handle it:

Resource TypeMCP ToolCoverage
Virtual Machinescompute✅ Full — list, details, sizes
Storage Accountsstorage✅ Full — accounts, blobs, tables
Cosmos DBcosmos✅ Full — accounts, databases, queries
Key Vaultkeyvault⚠️ Partial — secrets/keys only, no vault listing
SQL Databasessql⚠️ Partial — requires resource group name
Container Registriesacr✅ Full — list registries
Kubernetes (AKS)aks✅ Full — clusters, node pools
App Service / Web Appsappservice❌ No list command — use ARG
Container Apps❌ No MCP tool — use ARG
Event Hubseventhubs✅ Full — namespaces, hubs
Service Busservicebus✅ Full — queues, topics

If a dedicated tool is available with full coverage, use it. Otherwise proceed to Step 2.

Step 2: Generate the ARG Query

Use extension_cli_generate to build the az graph query command:

yaml
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.

Step 3: Execute and Format Results

Run the generated command. Use --query (JMESPath) to shape output:

bash
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 Handling

ErrorCauseFix
resource-graph extension not foundExtension not installedaz extension add --name resource-graph
AuthorizationFailedNo read access to subscriptionCheck RBAC — need Reader role
BadRequest on queryInvalid KQL syntaxVerify table/column names; use =~ for case-insensitive type matching
Empty resultsNo matching resources or wrong scopeCheck --subscriptions flag; verify resource type spelling

Constraints

  • Always use =~ for case-insensitive type matching (types are lowercase)
  • Always scope queries with --subscriptions or --first for large tenants
  • Prefer dedicated MCP tools for single-resource-type queries
  • Never use ARG for real-time monitoring (data has slight delay)
  • Never attempt mutations through ARG (read-only)
from this repository

More skills

All skills
microsoft
Official

microsoft-foundry

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end with azd. USE FOR: azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy, prompt agent create, create agent, update agent, add tool to agent, invoke agent, agent.yaml, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, prompt optimizer, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, troubleshoot agent, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, fine-tuned model, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare).

installs
56.2만
GitHub stars
1.4천
Updated
8월 31일
microsoft
Official

azure-diagnostics

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, troubleshoot functions, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, service bus dead letter.

installs
55.5만
GitHub stars
1.4천
Updated
8월 31일
microsoft
Official

azure-ai

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

installs
55.4만
GitHub stars
1.4천
Updated
8월 31일
microsoft
Official

azure-deploy

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: \"run azd up\", \"run azd deploy\", \"execute deployment\", \"push to production\", \"push to cloud\", \"go live\", \"ship it\", \"bicep deploy\", \"terraform apply\", \"publish to Azure\", \"launch on Azure\". DO NOT USE WHEN: \"create and deploy\", \"build and deploy\", \"create a new app\", \"set up infrastructure\", \"create and deploy to Azure using Terraform\" — use azure-prepare for these.

installs
55.4만
GitHub stars
1.4천
Updated
8월 31일