Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
En esta guía de inicio rápido, configura el SDK de GitHub Copilot para usar las herramientas de Azure Model Context Protocol (MCP), de modo que tus aplicaciones puedan interactuar con recursos de Azure mediante lenguaje natural.
Azure MCP proporciona herramientas que permiten a los asistentes de inteligencia artificial interactuar directamente con los recursos de Azure. Al integrar estas herramientas con el SDK de Copilot, puede crear aplicaciones que usen lenguaje natural para administrar suscripciones 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, debe configurar Azure servidor MCP en el contexto de la aplicación para que sus herramientas estén disponibles. En el ejemplo siguiente se muestra la configuración mínima:
{
"mcp_servers": {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["*"]
}
}
}
El tools: ["*"] parámetro habilita todas las herramientas del servidor MCP para la sesión. En muchos casos, debes proporcionar una lista específica de nombres de herramientas en su lugar, por lo que la sesión de Copilot solo puede llamar a las herramientas de MCP de Azure que la aplicación necesita. En el ejemplo siguiente se restringe la sesión a un pequeño conjunto de herramientas:
{
"mcp_servers": {
"azure-mcp": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"],
"tools": ["group_list", "storage_account_list", "subscription_list"]
}
}
}
Para ver una lista completa de los nombres de herramientas disponibles, consulte herramientas de Azure MCP Server.
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.
Nota:
Los ejemplos siguientes usan --allow-all-tools y --allow-all-paths para simplificar los ejemplos. Estas marcas no son necesarias ni recomendadas para cada aplicación. Limita los permisos de la CLI y la configuración de MCP tools a lo que tu aplicación realmente necesita: las opciones amplias de «permitir todo» pueden exponer más herramientas y más acceso al sistema de archivos del que requiere tu integración de Azure MCP.
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.