Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra i concetti essenziali per l'uso efficace del server MCP di Azure, tra cui come usare più servizi di Azure, gestire errori, ottimizzare le prestazioni e applicare modelli comuni per scenari reali.
Flussi di lavoro multiservizio
Il server MCP di Azure può orchestrare le operazioni tra più servizi di Azure in un'unica conversazione o flusso di lavoro. Questa funzionalità consente di concatenare le operazioni tra servizi come Archiviazione di Azure, Azure Cosmos DB e Azure Key Vault senza cambiare contesto.
Modalità server per operazioni multiservizio
Il server MCP di Azure supporta diverse modalità che influiscono sulla modalità di esposizione degli strumenti e sul modo in cui si interagisce con più servizi:
Modalità Namespace (predefinita)
La modalità spazio dei nomi raggruppa gli strumenti per servizio Azure, esponendo uno strumento per ogni namespace del servizio. Questa modalità offre un approccio bilanciato per i flussi di lavoro multiservizio.
{
"mcpServers": {
"Azure MCP Server": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"]
}
}
}
Con la modalità "namespace", è possibile effettuare richieste come:
- "Elencare gli account di archiviazione e quindi visualizzare i contenitori nel primo account"
- Ottieni segreti dal Key Vault e usali per collegarti al database Cosmos DB
Modalità consolidata (consigliata per gli agenti di intelligenza artificiale)
La modalità consolidata raggruppa le operazioni correlate in strumenti curati ottimizzati per gli agenti di intelligenza artificiale. Questa modalità offre il miglior equilibrio tra funzionalità e usabilità.
{
"mcpServers": {
"Azure MCP Server": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "consolidated"]
}
}
}
Gli strumenti consolidati sono denominati in base alle finalità dell'utente, ad esempio get_azure_databases_details, rendendoli più intuitivi per le interazioni in linguaggio naturale.
Per un elenco completo delle modalità server disponibili e delle relative configurazioni, vedere la guida alla risoluzione dei problemi.
Tutte le modalità
La all modalità espone separatamente 200 singoli strumenti. Questa modalità è utile quando è necessario un controllo granulare, ma può superare i limiti degli strumenti in alcuni client.
{
"mcpServers": {
"Azure MCP Server": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "all"]
}
}
}
Concatenamento delle operazioni tra servizi
È possibile concatenare le operazioni tra più servizi di Azure in una singola conversazione. Ad esempio, puoi:
- Interrogare Azure Key Vault per le credenziali del database
- Usare queste credenziali per connettersi ad Azure Cosmos DB
- Interrogare i dati di Cosmos DB
- Archiviare i risultati in Archiviazione di Azure
Esempi di prompt che concatenano operazioni tra i servizi includono:
- Ottenere la stringa di connessione del database dall'Azure Key Vault 'my-vault', connettersi al database e visualizzare le collezioni.
- "Elencare tutti gli account di archiviazione nella sottoscrizione, quindi per ogni account vengono visualizzati i contenitori"
- "Creare un nuovo contenitore di archiviazione e caricare il segreto del mio archivio chiavi in un blob"
Filtro degli strumenti in base al servizio
È possibile configurare il server MCP di Azure per esporre solo servizi specifici usando l'opzione --namespace . Questo approccio è utile per i flussi di lavoro incentrati o quando si usano più istanze del server MCP.
{
"mcpServers": {
"Azure Storage": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start", "--namespace", "storage"]
},
"Azure KeyVault": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start", "--namespace", "keyvault"]
}
}
}
Questa configurazione crea istanze del server MCP separate per Archiviazione e Key Vault, consentendo di organizzare gli strumenti in base ai requisiti del dominio o del progetto.
Gestione degli errori e logica di ripetizione
Il server MCP di Azure gestisce vari scenari di errore che possono verificarsi durante l'interazione con i servizi di Azure. Comprendere questi modelli consente di risolvere i problemi e creare flussi di lavoro resilienti.
Errori di autenticazione
L'autenticazione è un'origine comune di errori durante l'uso delle risorse di Azure.
401 Errori non autorizzati
Un errore 401 indica che il token di accesso non è valido o mancante. Questo errore può verificarsi quando:
- L'autorizzazione locale (chiavi di accesso) è disabilitata nella risorsa
- Il token di autenticazione è scaduto
- Non sono disponibili credenziali valide
Approcci di risoluzione:
- Verificare di essere autenticati in Azure usando
az logino il metodo di autenticazione preferito - Verificare che la risorsa consenta il metodo di autenticazione in uso
- Per le risorse con chiavi di accesso disabilitate, assicurarsi di avere le appropriate autorizzazioni di controllo degli accessi basato sul ruolo.
403 Errori non consentiti
Un errore 403 indica che l'utente autenticato non dispone di autorizzazioni sufficienti per accedere alla risorsa richiesta.
Cause comuni:
- Autorizzazioni RBAC mancanti a livello di gruppo di risorse o sottoscrizione
- Ambiente di sottoscrizione o tenant errato
- Uso di un account non intenzionato quando ci si è connessi a più account
Approcci di risoluzione:
- Verificare che le autorizzazioni RBAC siano assegnate allo scopo appropriato
- Specificare esplicitamente la sottoscrizione e il tenant nelle istruzioni: "Elenca tutti i miei account di archiviazione nella sottoscrizione
subscription-name, situata nel tenanttenant-name" - Impostare la
AZURE_MCP_ONLY_USE_BROKER_CREDENTIALvariabile di ambiente sutrueper richiedere la selezione dell'account
Restrizioni di rete e firewall
Gli ambienti aziendali hanno spesso controlli di rete che possono influire sulla connettività del server MCP di Azure.
Endpoint necessari per l'autenticazione:
login.microsoftonline.com:443login.windows.net:443management.azure.com:443graph.microsoft.com:443
Gli endpoint specifici delle risorse dipendono dai servizi di Azure in uso, ad esempio:
- Archiviazione di Azure:
*.blob.core.windows.net:443 - Azure Key Vault:
*.vault.azure.net:443 - Azure Cosmos DB:
*.documents.azure.com:443
Se si è dietro un proxy aziendale, configurare le impostazioni proxy usando le variabili di ambiente:
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1
Errori temporanei
Il server MCP di Azure si basa sugli SDK di Azure, che hanno una logica di ripetizione dei tentativi predefinita per gli errori temporanei. Questi SDK gestiscono automaticamente:
- Problemi relativi alla connettività di rete
- Limitazione dei servizi e limiti di frequenza
- Indisponibilità temporanea del servizio
Le politiche di ritentativo usano il backoff esponenziale per evitare di sovraccaricare i servizi durante scenari con carico elevato o incidenti.
Messaggi di errore e diagnostica
Quando si verificano errori, il server MCP di Azure fornisce messaggi di errore dettagliati che consentono di comprendere e risolvere i problemi. Per indicazioni complete sulla risoluzione dei problemi, vedere la guida alla risoluzione dei problemi.
Suggerimenti per l'ottimizzazione
L'ottimizzazione della configurazione del server MCP di Azure migliora le prestazioni, riduce l'utilizzo dei token e migliora l'esperienza utente.
Gestione dei conteggi degli strumenti
Alcuni client MCP hanno limiti al numero di strumenti che possono gestire. Ad esempio, Visual Studio Code Copilot ha un limite di 128 strumenti per ogni richiesta.
Usare la modalità consolidata
La modalità consolidata offre funzionalità complete pur rimanendo ben al di sotto dei limiti degli strumenti client:
{
"mcpServers": {
"Azure MCP": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start", "--mode", "consolidated"]
}
}
}
Questa configurazione espone strumenti curati che raggruppano le operazioni correlate, ottimizzando sia la funzionalità che l'efficacia dell'agente di intelligenza artificiale.
Usare il caricamento selettivo degli strumenti
Caricare solo gli strumenti necessari per il flusso di lavoro specifico:
{
"mcpServers": {
"Azure Essentials": {
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start",
"--tool",
"azmcp_subscription_list",
"--tool",
"azmcp_group_list",
"--tool",
"azmcp_storage_account_get"
]
}
}
}
Usare le modalità di chat personalizzate
Visual Studio Code supporta modalità di chat personalizzate che consentono di configurare set di strumenti diversi per diversi scenari. Questo approccio consente di passare da una configurazione degli strumenti all'altra in base all'attività corrente pur rimanendo entro i limiti del client.
Gestione di token
La gestione efficace dei token migliora i tempi di risposta e riduce i costi quando si usano modelli linguistici.
Usare richieste specifiche
Richieste specifiche riducono il numero di chiamate agli strumenti e la quantità di contesto necessaria:
Meno efficace:
- "Informazioni sulle risorse di Azure"
Più efficace:
- Elenca gli account di archiviazione nell'abbonamento 'my-subscription' nel gruppo di risorse 'my-rg'
- "Mostra la stringa di connessione per l'account di archiviazione 'mystorageaccount'"
Definire appropriatamente le operazioni di ambito
Quando possibile, definire l'ambito delle operazioni per risorse o gruppi di risorse specifici anziché eseguire query su intere sottoscrizioni:
Meno efficiente:
- "Elencare tutte le risorse nella sottoscrizione e filtrare per gli account di archiviazione"
Più efficiente:
- "Elencare gli account di archiviazione nel gruppo di risorse 'production-rg'"
Operazioni batch
Il server MCP di Azure supporta le operazioni batch per determinati scenari. Quando si usano più risorse:
Operazioni sequenziali:
List storage accounts, then for each one show the containers
Operazioni parallele quando appropriato:
Get details for storage accounts 'account1', 'account2', and 'account3'
Il server MCP di Azure e gli SDK di Azure sottostanti gestiscono automaticamente l'invio in batch quando appropriato, ottimizzando le chiamate di rete e riducendo la latenza.
Memorizzazione nella cache e riutilizzo
Il server MCP di Azure mantiene lo stato di connessione durante una sessione. Per ottimizzare le prestazioni
- Mantenere le istanze del server MCP in esecuzione anziché avviare e arrestare frequentemente
- Riutilizzare le informazioni sulla sottoscrizione e sul gruppo di risorse nelle query successive
- Memorizzare nella cache i dettagli delle risorse nel flusso di lavoro quando è necessario farvi riferimento più volte
Casi d'uso comuni
Il server MCP di Azure supporta un'ampia gamma di scenari reali. In questa sezione vengono forniti esempi di modelli e flussi di lavoro comuni.
Distribuzione di un nuovo servizio
Quando si distribuisce un nuovo servizio di Azure, è possibile usare il server MCP di Azure per automatizzare l'installazione e la configurazione dell'infrastruttura:
Creare risorse e gruppi di risorse:
Create a resource group called 'webapp-prod' in East US, then create a storage account called 'webappdata' in that resource groupConfigurare le risorse:
Get the storage account connection string and store it as a secret in key vault 'webapp-kv' with name 'StorageConnectionString'Verificare la distribuzione:
List all resources in resource group 'webapp-prod' and verify that the storage account and key vault exist
Debug di un problema su un sito web in produzione
Il server MCP di Azure consente di diagnosticare e risolvere i problemi di produzione:
Controllare l'integrità delle risorse:
Check the health status of App Service 'my-webapp' and list any recent service health incidentsLog di query:
Query Application Insights for exceptions in the last hour from application 'my-webapp'Esaminare la configurazione:
Get the application settings for App Service 'my-webapp' and check if the database connection string is configured correctlyVerificare la presenza di dipendenze:
List the databases in SQL server 'my-sql-server' and verify connectivity to database 'my-database'
Gestione di segreti e configurazione
Un modello comune prevede la gestione dei segreti e della configurazione in ambienti diversi:
Controlla i segreti:
List all secrets in key vault 'production-kv' and show me which ones are expiring in the next 30 daysRuotare i segreti:
Generate a new connection string for storage account 'mystore', update the secret 'StorageConnection' in key vault 'production-kv', and restart App Service 'my-webapp'Configurazione della sincronizzazione:
Get all key-value pairs from App Configuration 'my-appconfig' with label 'production' and compare them to the staging environment
Operazioni sui dati tra servizi
Il server MCP di Azure si distingue per coordinare le operazioni sui dati tra più servizi:
Estrazione, Trasformazione, Caricamento (ETL):
Get data from Cosmos DB container 'raw-data', transform it using the provided logic, and upload the results to blob container 'processed-data' in storage account 'analytics'Backup e archiviazione:
Export all documents from Cosmos DB container 'transactions' and create a snapshot in blob storage with timestampQuery interservizi:
Query Azure Data Explorer for events where error count is greater than 100, then lookup the associated user data from Cosmos DB
Controllo e conformità dell'infrastruttura
Usare il server MCP di Azure per controllare l'infrastruttura e verificare la conformità:
Controllo di sicurezza:
List all storage accounts in my subscription and check which ones don't have firewall rules configuredAnalisi dei costi:
List all SQL databases in my subscription, show their pricing tiers, and identify candidates for downgradingAssegnazione di tag alle risorse:
List all resources in subscription 'production-sub' without an 'Environment' tag and show their resource groups
Flussi di lavoro di sviluppo e test
Gli sviluppatori possono usare il server MCP di Azure per semplificare i flussi di lavoro di sviluppo:
Configurazione dell'ambiente:
Create a development environment with a storage account, key vault, and App Service in resource group 'dev-environment'Gestione dei dati di test:
Copy data from production storage container 'data' to development storage container 'test-data', anonymizing sensitive fieldsGestione della configurazione:
Compare App Service settings between 'staging-webapp' and 'production-webapp' and highlight differences