Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Locate and summarize Azure resources quickly across scopes using consistent query patterns. Use this skill when users ask where resources are, what they are configured as, or need inventory by type, region, or tag.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Find Azure resources efficiently across subscriptions and return concise, actionable metadata.
Immature: Manual searches in portal, incomplete knowledge of resources
Developing: CLI queries, some automation of common lookups
Managed: Scripted queries with filtering, tags for organization → Target
Optimized: Auto-indexing, graph-based discovery, dependency visualization
What are you looking for?
├─ Specific resource by name → Direct query: az resource show --name
├─ All resources of one type → Type filter: az resource list --resource-type
├─ Resources in a region → Location filter: az resource list --location
├─ Resources by tag → Tag filter: az resource list --query "[?tags.Environment=='Prod']"
└─ Unknown (keyword search) → Graph query with semantic search
How broad is the scope?
├─ Single resource group → Query is fast
├─ Single subscription → Query takes 5-10 seconds
├─ Multiple subscriptions → Use Azure Resource Graph (optimized)
└─ Entire organization → Use Azure Resource Graph with batch mode
Do you need real-time status or historical data?
├─ Real-time → CLI query (az resource list)
├─ Historical → Query resource logs (Activity logs)
├─ Cost-related → Query Cost Management API
Find by name:
# Exact match
az resource show --name "myappdb" --resource-type "Microsoft.Sql/servers/databases"
# Output
{
"id": "/subscriptions/abc123/resourceGroups/prod-rg/providers/Microsoft.Sql/servers/myserver/databases/myappdb",
"name": "myappdb",
"type": "Microsoft.Sql/servers/databases",
"location": "eastus",
"properties": {
"status": "Online",
"edition": "Standard",
"serviceLevelObjective": "S0"
}
}
Find by type (all VMs in subscription):
az resource list --resource-type "Microsoft.Compute/virtualMachines" \
--query "[].{name:name, group:resourceGroup, location:location, vmSize:properties.hardwareProfile.vmSize}" \
-o table
# Output
Name Group Location VmSize
vm-prod-1 prod-rg eastus Standard_D2s_v3
vm-prod-2 prod-rg eastus Standard_D2s_v3
vm-dev-1 dev-rg eastus Standard_B2s
Find by tag (all prod resources):
az resource list --query "[?tags.Environment=='Prod']" \
--query "[].{name:name, type:type, group:resourceGroup}" \
-o table
Find by region:
az resource list --location "eastus" \
--query "[].{name:name, type:type, sku:sku.name}" \
-o table
Find by naming pattern:
# All resources starting with "api-"
az graph query -q "resources | where name startswith 'api-'" \
-o table
Why Resource Graph? Fast, parallel queries across subscriptions without hitting throttle limits.
Query all subscriptions (as organization admin):
# All databases across subscriptions
az graph query -q "resources | where type == 'microsoft.sql/servers/databases' | project name, resourceGroup, location, properties.status"
Find resources by partial name (fuzzy search):
az graph query -q "resources | where name contains 'prod' and type contains 'compute'"
Find orphaned resources (no tags, old creation date):
az graph query -q "resources | where tags == '{}' and tostring(properties.timeCreated) < '2023-01-01'"
Find underutilized resources (check costs):
# App Service plans with low CPU
az graph query -q "resources | where type == 'microsoft.web/serverfarms' | project name, resourceGroup, properties.workerCount, properties.sku"
Database configuration:
az sql db show --resource-group prod-rg --server myserver --name myappdb \
--query "{name:name, status:status, tier:edition, slo:serviceLevelObjective, backupRetention:longTermRetentionBackupResourceId}"
VM configuration:
az vm show --resource-group prod-rg --name vm-prod-1 \
--query "{name:name, vmSize:hardwareProfile.vmSize, osType:osProfile.osType, imageId:storageProfile.imageReference.id, powerState:powerState}"
App Service configuration:
az webapp config show --resource-group prod-rg --name myapp \
--query "{runtime:properties.runtime, ftpEnabled:properties.ftpsState, http20Enabled:properties.http20Enabled, minTlsVersion:properties.minTlsVersion}"
Network configuration:
az network nsg show --resource-group prod-rg --name prod-nsg \
--query "securityRules[].{name:name, protocol:protocol, sourcePort:sourcePortRange, destPort:destinationPortRange, access:access, direction:direction}"
Estimated monthly cost:
# App Service pricing
az vm show --resource-group prod-rg --name vm-prod-1 \
--query "hardwareProfile.vmSize" | xargs -I {} \
az vm list-prices --location eastus --vmImage UbuntuLTS --query "[?name=='{}'].prices[].value" -o table
Resource usage metrics (for decisions):
# Last 7 days average CPU
az monitor metrics list --resource-group prod-rg --resource-type virtualMachines \
--name vm-prod-1 --metric Percentage\ CPU --start-time 2024-04-16T00:00:00Z \
--aggregation Average --interval PT1H
Checklist before changes:
Resource: myappdb (SQL Database)
✓ Exists in: prod-rg / eastus
✓ Status: Online
✓ Backups enabled: Yes (35-day retention)
✓ Access: Private endpoint configured
✓ Monitoring: Application Insights connected
✓ Owner tag: team-database (found)
Safe to modify: YES (all prerequisites met)
Dependencies (what breaks if we change this?):
# Find all app services using this database
az graph query -q "resources | where properties.connectionStrings contains 'myappdb'"
# Find who has access
az role assignment list --resource-group prod-rg --resource-name myappdb
Recent changes (who touched this?):
az monitor activity-log list --resource-group prod-rg \
--query "[?resourceId contains 'myappdb']" \
--query "[].{time:eventTimestamp, caller:caller, operationName:operationName.value}" \
-o table
Query Summary
Resource Table (matching results)
Notable Findings
Configuration Details (if requested)
Suggested Next Steps
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.
Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.
The English summary is being prepared. Showing the original description.