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.
Questa guida illustra come configurare GitHub Copilot SDK per l'uso degli strumenti MCP (Model Context Protocol) di Azure per interagire con le risorse di Azure.
Azure MCP offre un set di strumenti che consentono agli assistenti di intelligenza artificiale di interagire direttamente con le risorse di Azure. Se integrato con Copilot SDK, è possibile creare applicazioni che sfruttano il linguaggio naturale per gestire sottoscrizioni, gruppi di risorse, account di archiviazione e altro ancora.
Prerequisiti
- GitHub Copilot CLI installato.
-
Node.js installato (per l'esecuzione del server tramite
npx). -
Interfaccia della riga di comando di Azure installata e autenticata (
az login).
Accedere al server MCP di Azure per lo sviluppo locale
Il server MCP di Azure esegue l'autenticazione con Microsoft Entra ID usando la libreria di identità di Azure per .NET. Il server supporta due modalità di autenticazione:
-
Modalità Broker: usa l'autenticazione nativa del sistema operativo (ad esempio Gestione Account Web di Windows) con
InteractiveBrowserCredential. - Modalità catena di credenziali: prova più metodi di autenticazione in sequenza: variabili di ambiente, Visual Studio Code, Visual Studio, interfaccia della riga di comando di Azure, Azure PowerShell, interfaccia della riga di comando per sviluppatori di Azure e autenticazione interattiva del browser.
Accedere usando uno dei metodi seguenti:
- Aprire il riquadro comandi (
Ctrl+Shift+PoCmd+Shift+Psu Mac). - Eseguire Azure: accedere e seguire le istruzioni.
Dopo l'accesso, il server MCP di Azure può autenticare ed eseguire operazioni sui servizi di Azure in base alle autorizzazioni.
Esempio di configurazione del server MCP di Azure
Indipendentemente dall'SDK di programmazione usato, il server MCP di Azure deve essere configurato nel contesto dell'app per rendere disponibili gli strumenti. La configurazione essenziale è simile alla seguente:
{
"mcp_servers": {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"]
}
}
}
Il tools: ["*"] parametro è essenziale: consente tutti gli strumenti del server MCP per la sessione.
Esempi di integrazione
Gli esempi seguenti illustrano come integrare l'SDK in linguaggi diversi.
Annotazioni
Per un avvio più rapido, è possibile installare il server MCP di Azure a livello globale usando npm install -g @azure/mcp@latest.
Installazione
Installare il pacchetto Python SDK usando pip.
pip install github-copilot-sdk
Esempio di codice
Il codice seguente illustra un flusso completo:
import asyncio
from copilot import CopilotClient
from copilot.generated.session_events import SessionEventType
async def main():
# Initialize the Copilot client
client = CopilotClient({
"cli_args": [
"--allow-all-tools",
"--allow-all-paths",
]
})
await client.start()
# Configure Azure MCP server in session config
azure_mcp_config = {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"], # Enable all Azure MCP tools
}
}
# Create session with MCP servers
session = await client.create_session({
"model": "gpt-4.1", # Default model; BYOK can override
"streaming": True,
"mcp_servers": azure_mcp_config,
})
# Handle events
def handle_event(event):
if event.type == SessionEventType.ASSISTANT_MESSAGE_DELTA:
if hasattr(event.data, 'delta_content') and event.data.delta_content:
print(event.data.delta_content, end="", flush=True)
elif event.type == SessionEventType.TOOL_EXECUTION_START:
tool_name = getattr(event.data, 'tool_name', 'unknown')
print(f"\n[TOOL: {tool_name}]")
session.on(handle_event)
# Send prompt
await session.send_and_wait({
"prompt": "List all resource groups in my Azure subscription"
})
await client.stop()
if __name__ == "__main__":
asyncio.run(main())
Il codice precedente:
- Inizializza il client Copilot.
- Configura il server MCP di Azure usando
npx. - Crea una sessione con il modello GPT-4.1 e lo streaming abilitati.
- Gestisce gli eventi per stampare le risposte dell'assistente e i log di esecuzione degli strumenti.
- Invia un prompt per elencare i gruppi di risorse di Azure.