Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Cli de Copilot de GitHub instalada.
-
Node.js instalado (para ejecutar el servidor mediante
npx). -
CLI de Azure instalada y autenticada (
az login).
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:
- Abra la paleta de comandos (
Ctrl+Shift+PoCmd+Shift+Pen Mac). - 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.