Rychlý start: Integrace Azure MCP Serveru se sadou GitHub Copilot SDK

Tato příručka vysvětluje, jak nakonfigurovat sadu GitHub Copilot SDK tak, aby pro interakci s prostředky Azure používala nástroje MCP (Azure Model Context Protocol).

Azure MCP poskytuje sadu nástrojů, které umožňují asistentům AI pracovat s prostředky Azure přímo. Při integraci se sadou Copilot SDK můžete vytvářet aplikace, které využívají přirozený jazyk ke správě předplatných, skupin prostředků, účtů úložiště a dalších.

Předpoklady

Přihlášení k Azure MCP Serveru pro místní vývoj

Azure MCP Server se autentizuje vůči Microsoft Entra ID pomocí knihovny Azure Identity pro .NET. Server podporuje dva režimy ověřování:

  • Režim zprostředkovatele: Používá nativní ověřování operačního systému (například Správce webových účtů systému Windows) s InteractiveBrowserCredential.
  • Režim řetězu přihlašovacích údajů: Zkouší více metod ověřování v posloupnosti: proměnné prostředí, Visual Studio Code, Visual Studio, Azure CLI, Azure PowerShell, Azure Developer CLI a interaktivní ověřování v prohlížeči.

Přihlaste se pomocí některé z těchto metod:

  1. Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P na Macu).
  2. Spusťte Azure: Přihlaste se a postupujte podle pokynů.

Po přihlášení může Azure MCP Server ověřovat a spouštět operace ve službách Azure na základě vašich oprávnění.

Příklad konfigurace Azure MCP Serveru

Bez ohledu na programovací sadu SDK, kterou používáte, musí být server Azure MCP nakonfigurovaný v kontextu aplikace, aby byly k dispozici nástroje. Základní konfigurace vypadá přibližně takto:

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

Parametr tools: ["*"] je nezbytný – umožňuje pro relaci všechny nástroje ze serveru MCP.

Příklady integrace

Následující příklady ukazují, jak integrovat sadu SDK v různých jazycích.

Poznámka:

Pro rychlejší spuštění můžete azure MCP Server nainstalovat globálně pomocí npm install -g @azure/mcp@latest.

Installation

Nainstalujte balíček sady Python SDK pomocí nástroje pip.

pip install github-copilot-sdk

Ukázkový kód

Následující kód ukazuje úplný tok:

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

Předchozí kód:

  • Inicializuje klienta Copilot.
  • Nakonfiguruje server Azure MCP pomocí npx.
  • Vytvoří relaci s modelem GPT-4.1 a povoleným streamováním.
  • Zpracovává události pro tisk odpovědí pomocníka a protokolů spouštění nástrojů.
  • Odešle výzvu k výpisu skupin prostředků Azure.