Обнаружение и запросы к Azure-ресурсам по всем подпискам через Resource Graph: VM, storage, orphaned диски, теги. Умная маршрутизация между MCP и ARG.
npx -y skills add microsoft/github-copilot-for-azure --skill azure-resource-lookup --agent claude-codeВывод, поиск и обнаружение Azure-ресурсов любого типа в подписках и группах ресурсов. Используйте Azure Resource Graph (ARG) для быстрых запросов, когда специализированные MCP-инструменты не охватывают нужный тип ресурса.
Используйте, когда пользователь хочет:
⚠️ Важно: для App Service / Web Apps нет специальной MCP-команды списка. Запросы вида «list websites», «list web apps», «list app services» обязательно направляются через этот скилл с использованием 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 с intent для az graph query |
| Лучше всего для | Запросы по нескольким подпискам, заброшенные ресурсы, аудит тегов |
| Инструмент | Назначение | Когда использовать |
|---|---|---|
extension_cli_generate | Генерация команд az graph query | Основной инструмент — генерация ARG-запросов из намерения пользователя |
mcp_azure_mcp_subscription_list | Список доступных подписок | Определить область запроса перед выполнением |
mcp_azure_mcp_group_list | Список групп ресурсов | Сузить область запроса |
| Тип ресурса | MCP-инструмент | Покрытие |
|---|---|---|
| Виртуальные машины | compute | ✅ Полное — список, детали, размеры |
| Учётные записи хранилища | storage | ✅ Полное — аккаунты, блобы, таблицы |
| Cosmos DB | cosmos | ✅ Полное — аккаунты, базы данных, запросы |
| Key Vault | keyvault | ⚠️ Частичное — только секреты/ключи, нет списка хранилищ |
| SQL Databases | sql | ⚠️ Частичное — требуется имя группы ресурсов |
| Container Registries | acr | ✅ Полное — список реестров |
| Kubernetes (AKS) | aks | ✅ Полное — кластеры, пулы узлов |
| App Service / Web Apps | appservice | ❌ Нет команды списка — использовать ARG |
| Container Apps | — | ❌ Нет MCP-инструмента — использовать ARG |
| Event Hubs | eventhubs | ✅ Полное — пространства имён, хабы |
| Service Bus | servicebus | ✅ Полное — очереди, топики |
Если специализированный инструмент с полным покрытием доступен, используйте его. Иначе — шаг 2.
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <запрос пользователя>"
cli-type: "az"
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 для крупных арендаторов