Compartir a través de


Inicio rápido: Integración de Azure MCP Server con el SDK de GitHub Copilot

En esta guía se explica cómo configurar el SDK de GitHub Copilot para usar las herramientas del Protocolo de contexto de modelos de Azure (MCP) para interactuar con los recursos de Azure.

Azure MCP proporciona un conjunto de herramientas que permiten a los asistentes de inteligencia artificial interactuar directamente con los recursos de Azure. Cuando se integra con el SDK de Copilot, puede crear aplicaciones que aprovechen el lenguaje natural para administrar suscripciones de Azure, grupos de recursos, cuentas de almacenamiento, etc.

Prerrequisitos

Inicia sesión en Azure MCP Server para desarrollo local

Azure MCP Server se autentica con Microsoft Entra ID mediante la biblioteca de identidad de Azure para .NET. El servidor admite dos modos de autenticación:

  • Modo de agente: usa la autenticación nativa del sistema operativo (como el Administrador de cuentas web de Windows) con InteractiveBrowserCredential.
  • Modo de cadena de credenciales: intenta varios métodos de autenticación en secuencia: variables de entorno, Visual Studio Code, Visual Studio, CLI de Azure, Azure PowerShell, CLI para desarrolladores de Azure y autenticación interactiva del explorador.

Inicie sesión con cualquiera de estos métodos:

  1. Abra la paleta de comandos (Ctrl+Shift+P o Cmd+Shift+P en Mac).
  2. Ejecución de Azure: inicie sesión y siga las indicaciones.

Después de iniciar sesión, Azure MCP Server puede autenticar y ejecutar operaciones en los servicios de Azure en función de los permisos.

Ejemplo de configuración del servidor MCP de Azure

Independientemente del SDK de programación que use, el servidor MCP de Azure debe configurarse en el contexto de la aplicación para que las herramientas estén disponibles. La configuración esencial es similar a la siguiente:

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

El tools: ["*"] parámetro es esencial: habilita todas las herramientas del servidor MCP para la sesión.

Ejemplos de integración

En los ejemplos siguientes se muestra cómo integrar el SDK en distintos lenguajes.

Nota:

Para un inicio más rápido, puede instalar Azure MCP Server globalmente mediante npm install -g @azure/mcp@latest.

Installation

Instale el paquete del SDK de Python mediante pip.

pip install github-copilot-sdk

Código de ejemplo

El código siguiente muestra un flujo 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())

El código anterior:

  • Inicializa el cliente de Copilot.
  • Configura el servidor MCP de Azure mediante npx.
  • Crea una sesión con el modelo GPT-4.1 y el streaming habilitados.
  • Controla eventos para imprimir respuestas del asistente y registros de ejecución de herramientas.
  • Envía un mensaje para enumerar los grupos de recursos de Azure.