Freigeben über


Schnellstart: Integrieren von Azure MCP-Server in GitHub Copilot SDK

In diesem Handbuch wird erläutert, wie Sie das GitHub Copilot SDK so konfigurieren, dass Azure Model Context Protocol (MCP)-Tools für die Interaktion mit Azure-Ressourcen verwendet werden.

Azure MCP bietet eine Reihe von Tools, mit denen KI-Assistenten direkt mit Azure-Ressourcen interagieren können. Wenn Sie mit dem Copilot SDK integriert sind, können Sie Anwendungen erstellen, die natürliche Sprache nutzen, um Azure-Abonnements, Ressourcengruppen, Speicherkonten und vieles mehr zu verwalten.

Voraussetzungen

Anmelden bei Azure MCP Server für die lokale Entwicklung

Azure MCP Server authentifiziert sich bei Microsoft Entra ID mithilfe der Azure Identity-Bibliothek für .NET. Der Server unterstützt zwei Authentifizierungsmodi:

  • Brokermodus: Verwendet die systemeigene Authentifizierung Ihres Betriebssystems (z. B. Windows Web Account Manager) mit InteractiveBrowserCredential.
  • Modus der Anmeldeinformationskette: Es wird versucht, mehrere Authentifizierungsmethoden in einer festgelegten Reihenfolge zu verwenden: Umgebungsvariablen, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI und interaktive Browserauthentifizierung.

Melden Sie sich mit einer der folgenden Methoden an:

  1. Öffnen Sie die Befehlspalette (Ctrl+Shift+P oder Cmd+Shift+P auf dem Mac).
  2. Führen Sie Azure aus: Melden Sie sich an , und folgen Sie den Anweisungen.

Nach der Anmeldung kann Azure MCP Server Vorgänge für Azure-Dienste basierend auf Ihren Berechtigungen authentifizieren und ausführen.

Azure MCP Server-Konfigurationsbeispiel

Unabhängig vom verwendeten Programmier-SDK muss der Azure MCP-Server im App-Kontext konfiguriert werden, damit Tools verfügbar sind. Die grundlegende Konfiguration sieht wie folgt aus:

{
  "mcp_servers": {
    "azure-mcp": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"],
      "tools": ["*"]
    }
  }
}

Der tools: ["*"] Parameter ist unerlässlich – es ermöglicht alle Tools vom MCP-Server für die Sitzung.

Integrationsbeispiele

Die folgenden Beispiele zeigen, wie das SDK in verschiedene Sprachen integriert wird.

Hinweis

Für einen schnelleren Start können Sie den Azure MCP Server global installieren, indem Sie npm install -g @azure/mcp@latest verwenden.

Installation

Installieren Sie das Python SDK-Paket mit pip.

pip install github-copilot-sdk

Beispielcode

Der folgende Code veranschaulicht einen vollständigen Fluss:

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())

Der vorherige Code:

  • Initialisiert den Copilot-Client.
  • Konfiguriert den Azure MCP-Server mithilfe von npx.
  • Erstellt eine Sitzung mit dem GPT-4.1-Modell und aktiviertem Streaming.
  • Behandelt Ereignisse zum Drucken von Assistentenantworten und Toolausführungsprotokollen.
  • Sendet eine Aufforderung zum Auflisten von Azure-Ressourcengruppen.