Azure

Interactúa con y gestiona servicios de Azure usando lenguaje natural.

Documentación

Azure MCP (Model Context Protocol) para Claude Desktop

smithery badge

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

  1. Clona el repositorio:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
  1. Instala las dependencias:
npm install
  1. Configura Claude Desktop:
    • Abre claude_desktop_config.json
    • Añade la siguiente configuración de MCP:
{
  "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

  1. Cierra Claude Desktop si está en ejecución (revisa el Administrador de tareas)
  2. Inicia Claude Desktop
  3. 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

  1. 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
  2. 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
  3. Errores Comunes:

    • NO_TENANT: Selecciona un inquilino usando la herramienta 'select-tenant'
    • NO_CLIENTS: Asegura una inicialización y autenticación adecuadas
    • CODE_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

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.