Azure
Interactúa con y gestiona servicios de Azure usando lenguaje natural.
Documentación
Azure MCP (Model Context Protocol) para Claude Desktop
Una implementación del Protocolo de Contexto de Modelo (MCP) que permite a Claude Desktop interactuar con los servicios de Azure. Esta integración permite a Claude consultar y gestionar recursos de Azure directamente a través de conversaciones en lenguaje natural.
Características
- Gestión de Recursos de Azure: Interactúa con el cliente de Gestión de Recursos de Azure
- Gestión de Suscripciones: Lista y gestiona suscripciones de Azure
- Gestión de Inquilinos: Lista y selecciona inquilinos de Azure
- Autenticación Automática: Aprovecha DefaultAzureCredential para métodos de autenticación flexibles
- Manejo de Errores: Manejo robusto de errores con reintentos para fallos transitorios
- Formato de Respuesta Limpio: Respuestas con formato adecuado compatibles con Claude Desktop
Requisitos Previos
- Node.js (v18 o superior)
- Aplicación Claude Desktop
- Cuenta de Azure con permisos adecuados
- Azure CLI (opcional, para autenticación basada en CLI)
Instalación
Instalación Manual
- Clona el repositorio:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
- Instala las dependencias:
npm install
- Configura Claude Desktop:
- Abre
claude_desktop_config.json - Añade la siguiente configuración de MCP:
- Abre
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
},
"azure": {
"command": "tsx",
"args": [
"C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts"
]
}
}
}
Autenticación
El servidor admite múltiples métodos de autenticación a través de DefaultAzureCredential:
- Variables de Entorno
- Identidad Administrada
- Azure CLI
- Visual Studio Code
- Navegador Interactivo
El servidor probará automáticamente estos métodos en secuencia hasta que uno tenga éxito.
Uso
- Cierra Claude Desktop si está en ejecución (revisa el Administrador de tareas)
- Inicia Claude Desktop
- En el chat, ahora puedes hacer preguntas relacionadas con Azure, como:
- "¿Puedes obtener todas las cuentas y suscripciones de Azure disponibles?"
- "Enumera todos los grupos de recursos en mi suscripción"
- "Muéstrame todas las máquinas virtuales en un grupo de recursos específico"
Conversación de Ejemplo
You: Can you get all the available Azure accounts and subscriptions?
Claude: I'll help you list all available Azure tenants and subscriptions.
[Claude will then use the Azure MCP to fetch and display the information]
Desarrollo
Estructura del Proyecto
azure-mcp/
├── src/
│ ├── launcher.ts # Server entry point
│ ├── AzureServer.ts # Main MCP server implementation
│ └── LoggerService.ts # Logging utility
├── package.json
└── README.md
Componentes Clave
- AzureMCPServer: Clase principal del servidor que implementa el protocolo MCP
- HandleCallTool: Procesa las solicitudes de herramientas entrantes
- ExecuteWithRetry: Implementa la lógica de reintentos para operaciones resilientes
Solución de Problemas
-
Problemas de Autenticación:
- Asegúrate de haber iniciado sesión a través de Azure CLI (
az login) - Revisa las variables de entorno si usas una entidad de servicio
- Verifica que tu cuenta de Azure tenga los permisos necesarios
- Asegúrate de haber iniciado sesión a través de Azure CLI (
-
Problemas de Conexión:
- Verifica la configuración de Claude Desktop
- Comprueba que las rutas en el archivo de configuración coincidan con tu instalación
- Asegúrate de que no haya otras instancias en ejecución
-
Errores Comunes:
NO_TENANT: Selecciona un inquilino usando la herramienta 'select-tenant'NO_CLIENTS: Asegura una inicialización y autenticación adecuadasCODE_EXECUTION_FAILED: Revisa los permisos de Azure y la conexión
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).
Contribuyentes
- @calclavia - Integración con smithery.ai
Agradecimientos
- Equipo de Claude Desktop por la implementación de MCP
- Equipo de Azure SDK por el SDK completo
- Model Context Protocol por permitir la integración de servicios de IA
Nota de Seguridad
Esta implementación sigue las mejores prácticas de seguridad de Azure:
- Sin credenciales codificadas
- Implementación segura de la cadena de credenciales
- Manejo adecuado de errores y saneamiento
Para problemas de seguridad o vulnerabilidades, por favor crea un issue.