Azure Resource Manager: il piano di controllo di Azure
Azure Resource Manager (ARM) è il piano di controllo dell’intera piattaforma Azure. Ogni operazione che crea, aggiorna o elimina risorse Azure passa attraverso ARM, indipendentemente da dove provenga: portale Azure, CLI, PowerShell, REST API o SDK. È l’unico punto di ingresso autorevole per gestire l’infrastruttura cloud Microsoft.
Con l’esplosione degli agenti AI, si pone una domanda concreta: come possono questi agenti interagire con ARM in modo strutturato, sicuro e coerente? Microsoft ha risposto con l’Azure Resource Manager MCP Server, ora in anteprima pubblica: un server MCP remoto che fornisce agli agenti AI un accesso di prima classe alle operazioni di infrastruttura Azure attraverso il Model Context Protocol.
Cos’è l’Azure Resource Manager MCP Server
Il server MCP per ARM è progettato per essere il layer di accesso degli agenti AI all’infrastruttura Azure, esattamente come lo è per qualsiasi altro client ARM. Nella versione attuale espone due macro-funzionalità principali:
- Azure Resource Graph (ARG) query: generazione, validazione ed esecuzione di query ARG in linguaggio naturale contro tutti i tipi di risorse Azure
- ARM Template Deployment: avvio, monitoraggio e cancellazione di deployment ARM su scope di resource group esistenti
In pratica, l’agente AI non esegue direttamente SQL o chiamate REST: descrive ciò che vuole sapere o fare, e il server MCP traduce quella richiesta in operazioni ARM concrete e sicure.
I tool disponibili
Il server espone sei tool principali, ciascuno con un ruolo preciso:
- generate_query: genera una query ARG a partire da un prompt in linguaggio naturale. Esempio: “Mostrami tutte le VM in esecuzione nel subscription X” → query KQL valida
- validate_query: verifica che una query ARG sia corretta sintatticamente e sicura prima di eseguirla
- execute_query: esegue la query ARG contro l’ambiente Azure dell’utente e restituisce i risultati
- create_template_deployment: avvia il deployment di un ARM template verso un resource group target
- get_arm_template_deployment_status: monitora lo stato di avanzamento di un deployment ARM
- cancel_arm_template_deployment: annulla un deployment in corso (utile dopo fallimenti di validazione o policy)
Caso d’uso pratico: interrogare l’infrastruttura in linguaggio naturale
Immagina di voler sapere quante storage account nel tuo tenant non hanno il tag “owner” assegnato. Tradizionalmente dovresti conoscere il linguaggio KQL di Azure Resource Graph e costruire manualmente la query:
Resources
| where type == "microsoft.storage/storageaccounts"
| where isnull(tags["owner"]) or tags["owner"] == ""
| summarize count() by subscriptionId
Con l’ARM MCP Server attivo in GitHub Copilot Chat su VS Code, puoi semplicemente scrivere:
“Conta tutte le storage account senza il tag ‘owner’, raggruppate per subscription”
Il server generate_query crea la query KQL, validate_query la verifica, e execute_query la esegue restituendo i risultati all’agente che li presenta in formato leggibile.
Caso d’uso: deployment di infrastruttura guidato dall’AI
Il secondo use case riguarda il deployment di ARM template. Un agente può ricevere istruzioni come:
“Deploy un’app service con piano B1 nel resource group ‘prod-rg’ in West Europe, usa il template standard dalla nostra libreria”
Il tool create_template_deployment avvia il deployment specificando subscription ID, resource group, nome del deployment e la definizione del template ARM. Il tool get_arm_template_deployment_status permette all’agente di monitorarne l’avanzamento. Se qualcosa va storto, cancel_arm_template_deployment lo interrompe immediatamente.
Governance e sicurezza
Un aspetto critico: il server ARM MCP opera nel contesto dell’utente autenticato in VS Code. Tutte le chiamate vengono eseguite per conto di quell’utente e sono soggette agli stessi permessi e controlli di accesso definiti in Azure. Non ci sono privilegi elevati o bypass del modello di sicurezza Azure: se l’utente non ha i diritti per deployare in un certo resource group, l’agente non li avrà neanche.
Per organizzazioni che vogliono impedire completamente i deployment tramite ARM MCP Server, è possibile applicare una Azure Policy che blocchi esplicitamente le richieste al tool create_template_deployment identificando l’AppID del server MCP (22bfbae3-f4e7-485f-be43-8cee15065084) nel scope desiderato. Un template di policy di esempio è disponibile nel repository GitHub ufficiale.
Installazione e configurazione
Durante questa preview pubblica, il server ARM MCP è supportato su:
- GitHub Copilot Chat in VS Code
- GitHub Copilot CLI
Per installarlo:
- Apri https://aka.ms/JoinARMMCP — VS Code si avvierà automaticamente
- Quando richiesto in VS Code, clicca su Install sotto “Azure Resource Manager MCP server”
- Effettua il login con le credenziali Azure
- In VS Code, apri View > Chat e clicca sull’icona Configure Tools
- Assicurati che “Azure Resource Manager MCP server” sia spuntato
I prerequisiti sono VS Code installato, un account Azure valido e un account GitHub Copilot.
Considerazioni per gli amministratori Azure
L’ARM MCP Server apre nuovi scenari per i team DevOps e gli amministratori Azure. Alcuni esempi concreti:
- Compliance automatizzata: agenti che controllano periodicamente le risorse e verificano l’applicazione di policy di tagging, naming convention o configurazioni di sicurezza
- Troubleshooting accelerato: interrogare in linguaggio naturale lo stato dell’infrastruttura durante un incident, senza dover ricordare sintassi KQL
- Infrastructure as Code assistita: generare e deployare ARM template partendo da descrizioni in linguaggio naturale, con validazione integrata prima dell’esecuzione
Il limite attuale — solo VS Code e GitHub Copilot CLI come client supportati — sarà probabilmente espanso nelle prossime versioni in base al feedback degli utenti. Microsoft ha aperto un canale dedicato su GitHub per raccogliere segnalazioni e richieste di funzionalità.
Conclusione
L’Azure Resource Manager MCP Server rappresenta un passo significativo nell’integrazione tra agenti AI e infrastruttura cloud. Non si tratta di uno strumento che bypassa la governance Azure, bensì di un layer che la rende accessibile agli agenti rispettandola appieno. Per team che già usano Azure e GitHub Copilot, il valore pratico è immediato: meno sintassi KQL da memorizzare, deployment più veloci da validare, e la possibilità di costruire agenti personalizzati per automazioni di compliance che oggi richiedono script dedicati.
Il server è ora in anteprima pubblica e può essere installato seguendo le istruzioni ufficiali su https://aka.ms/JoinARMMCP.
Fonti:
Introducing the Azure Resource Manager MCP Server! — Microsoft Tech Community (Steven Bucher, 8 maggio 2026)
Azure/Azure-Resource-Manager-MCP — GitHub