Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide explique comment configurer le Kit de développement logiciel (SDK) GitHub Copilot pour utiliser les outils MCP (Model Context Protocol) Azure pour interagir avec les ressources Azure.
Azure MCP fournit un ensemble d’outils qui permettent aux assistants IA d’interagir directement avec les ressources Azure. Lorsqu’il est intégré au Kit de développement logiciel (SDK) Copilot, vous pouvez créer des applications qui tirent parti du langage naturel pour gérer les abonnements Azure, les groupes de ressources, les comptes de stockage, etc.
Prerequisites
- GitHub Copilot CLI installé.
-
Node.js installé (pour l’exécution du serveur via
npx). -
Azure CLI installé et authentifié (
az login).
Se connecter au serveur Azure MCP pour le développement local
Azure MCP Server s’authentifie auprès de Microsoft Entra ID à l’aide de la bibliothèque Azure Identity pour .NET. Le serveur prend en charge deux modes d’authentification :
-
Mode Broker : utilise l’authentification native de votre système d’exploitation (comme le Gestionnaire de comptes web Windows) avec
InteractiveBrowserCredential. - Mode chaîne des informations d'identification : essaie plusieurs méthodes d’authentification successivement : variables d’environnement, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI et authentification interactive par navigateur.
Connectez-vous à l’aide de l’une de ces méthodes :
- Ouvrez la palette de commandes (
Ctrl+Shift+PouCmd+Shift+Psur Mac). - Exécutez Azure : connectez-vous et suivez les invites.
Une fois connecté, azure MCP Server peut authentifier et exécuter des opérations sur les services Azure en fonction de vos autorisations.
Exemple de configuration de serveur MCP Azure
Quel que soit le Kit de développement logiciel (SDK) de programmation que vous utilisez, le serveur Azure MCP doit être configuré dans le contexte de l’application pour que les outils soient disponibles. La configuration essentielle ressemble à ce qui suit :
{
"mcp_servers": {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"]
}
}
}
Le tools: ["*"] paramètre est essentiel : il active tous les outils du serveur MCP pour la session.
Exemples d’intégration
Les exemples suivants montrent comment intégrer le Kit de développement logiciel (SDK) dans différents langages.
Note
Pour un démarrage plus rapide, vous pouvez installer Azure MCP Server globalement à l’aide de npm install -g @azure/mcp@latest.
Installation
Installez le package du Kit de développement logiciel (SDK) Python à l’aide de pip.
pip install github-copilot-sdk
Exemple de code
Le code suivant illustre un flux complet :
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())
Code précédent :
- Initialise le client Copilot.
- Configurez le serveur Azure MCP à l’aide de
npx. - Crée une session avec le modèle GPT-4.1 et la diffusion en continu activées.
- Gère les événements pour imprimer les réponses de l’Assistant et les journaux d’exécution des outils.
- Envoie une invite pour répertorier les groupes de ressources Azure.