Azure CLI MCP

by jdubois
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with GitHub Copilot in VS Code, allowing you to deploy projects to Azure using natural language commands in the Copilot chat interface

  • Enables management of Azure OpenAI resources, including checking rate limits of deployed models and other configurations

Servidor MCP de la CLI de Azure

Este es un servidor MCP que envuelve la CLI de Azure , agrega un mensaje agradable para mejorar su funcionamiento y lo expone.

Población

Breve demostración de 2 minutos con Claude Desktop

Demostración completa de 18 minutos con VS Code

¿Qué puede hacer?

Tiene acceso completo a la CLI de Azure, por lo que puede hacer todo lo que esta permite. A continuación, se presentan algunos escenarios:

  • Enumerar sus recursos y comprobar su configuración. Por ejemplo, puede obtener los límites de velocidad de un modelo implementado en Azure OpenAI.
  • Solucionar algunos problemas de configuración o seguridad. Por ejemplo, puedes solicitarle que proteja una cuenta de Blob Storage.
  • Creación de recursos. Por ejemplo, puedes pedirle que cree una instancia de Azure Container Apps y un Azure Container Registry, y que los conecte mediante una identidad administrada.

¿Es seguro usarlo?

Dado que el servidor MCP se ejecuta mediante un LLM, recomendamos tener cuidado y validar los comandos que genera. Si utiliza un buen LLM como Claude 3.7 o GPT-4o, que ofrece excelentes datos de entrenamiento en Azure, nuestra experiencia ha sido muy buena.

Lea nuestra Licencia que establece que "EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO", por lo que utiliza este servidor MCP bajo su propio riesgo.

¿Es seguro y debo ejecutarlo en un servidor remoto?

Respuesta corta: NO .

Este servidor MCP ejecuta comandos az automáticamente y podría ser pirateado por un atacante para ejecutar cualquier otro comando. La implementación actual, al igual que la mayoría de los servidores MCP, solo funciona con el transporte stio : se supone que se ejecuta localmente en su equipo, usando sus credenciales de la CLI de Azure, como lo haría usted mismo.

En el futuro, será totalmente posible que este servidor MCP admita el transporte http y la autenticación mediante token de Azure, para que pueda ser utilizado remotamente por diferentes personas. Este es un segundo paso que se implementará una vez que la especificación y el SDK de MCP sean más estables.

¿Cómo lo instalo?

Este servidor puede ejecutarse dentro de un contenedor Docker o como un archivo JAR ejecutable de Java.

Para ambas opciones, solo está disponible el transporte stio . El transporte http estará disponible más adelante.

Instalar y configurar el servidor con Docker

Cree una entidad de servicio de Azure y configure la variable de entorno AZURE_CREDENTIALS . Para ello, ejecute el siguiente comando en su terminal:

az ad sp create-for-rbac --name "azure-cli-mcp" --role contributor --scopes /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group> --json-auth

Esto creará un nuevo principal de servicio con el nombre y rol especificados, y generará las credenciales en formato JSON.

Luego, puede ejecutar el servidor mediante Docker con el siguiente comando. Para autenticarse, configure AZURE_CREDENTIALS con la salida del comando anterior.

docker run --rm -p 6273:6273 -e AZURE_CREDENTIALS="{"clientId":"....","clientSecret":"....",...}" -i ghcr.io/jdubois/azure-cli-mcp:latest

Usando VS Code

Para utilizar el servidor desde VS Code:

  • Instalar GitHub Copilot
  • Instale este servidor MCP usando la paleta de comandos: MCP: Add Server...
    • La configuración se conecta al servidor mediante el transporte stio
    • El comando a ejecutar es docker run -i --rm -e AZURE_CREDENTIALS ghcr.io/jdubois/azure-cli-mcp:latest . Deberá configurar la variable de entorno AZURE_CREDENTIALS con la salida JSON de la creación de la entidad de servicio, con las comillas de escape. Consulte a continuación un ejemplo completo y seguro.
  • Configure GitHub Copilot para que se ejecute en modo Agent , haciendo clic en la flecha en la parte inferior de la ventana de chat
  • En la parte superior de la ventana de chat, debería ver el servidor azure-cli-mcp configurado como una herramienta

Puede proteger el entorno AZURE_CREDENTIALS utilizando el método descrito en la documentación ; aquí hay un ejemplo completo:

{ "inputs": [ { "type": "promptString", "id": "azure-credentials", "description": "Azure Credentials", "password": true } ], "servers": { "azure-cli": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AZURE_CREDENTIALS", "ghcr.io/jdubois/azure-cli-mcp:latest" ], "env": { "AZURE_CREDENTIALS": "${input:azure-credentials}" } } } }

Uso de Claude Desktop

Para usar el servidor de Claude Desktop, agréguelo al archivo claude_desktop_config.json . La variable de entorno AZURE_CREDENTIALS debe configurarse con la salida JSON de la creación de la entidad de servicio, con las comillas de escape.

{ "mcpServers": { "azure-cli": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AZURE_CREDENTIALS", "ghcr.io/jdubois/azure-cli-mcp:latest" ], "env": { "AZURE_CREDENTIALS": "{\"clientId\":\"...\",\"clientSecret\":\"...\",..." } } } }

Instalación con Smithery.ai

Puedes instalar el servidor MCP a través de Smithery.ai:

Esta instalación es similar a la del contenedor Docker que mencionamos anteriormente, pero se ejecuta en los servidores de Smithery.ai. Si bien esta instalación es la más sencilla al principio, tenga en cuenta lo siguiente:

  • Necesitará una clave AZURE_CREDENTIALS , como se describe a continuación en la sección de instalación de Docker, y esta clave se enviará a Smithery.ai.
  • Smithery.ai es un servicio de terceros, y debes confiar en ellos para que construyan este servidor MCP para ti (utiliza el mismo Dockerfile que nuestra imagen Docker, pero no lo construimos nosotros).
  • Este todavía es un servicio de vista previa preliminar, por lo que no podemos garantizar cómo evolucionará.

Instalar y configurar el servidor con Java

Esta configuración ejecuta el servidor localmente. Es más fácil de configurar que con Docker, pero es menos segura, ya que usa directamente tus credenciales mediante la CLI de Azure configurada en tu equipo.

  • Instalar la CLI de Azure: puedes hacerlo siguiendo las instrucciones aquí .
  • Autentíquese en su cuenta de Azure. Puede hacerlo ejecutando az login en su terminal.
  • Asegúrate de tener instalado Java 17 o una versión superior. Puedes comprobarlo ejecutando java -version en tu terminal.

Los binarios están disponibles en la página de lanzamiento de GitHub . Aquí le mostramos cómo puede descargar el último con la CLI de GitHub:

  • Descargue la última versión: gh release download --repo jdubois/azure-cli-mcp --pattern='azure-cli-mcp.jar'

Usando VS Code

  • Instalar GitHub Copilot
  • Instale este servidor MCP usando la paleta de comandos: MCP: Add Server...
    • La configuración se conecta al servidor mediante el transporte stio
    • El comando a ejecutar es java -jar ~/Downloads/azure-cli-mcp.jar (debe apuntar a la ubicación donde descargó el archivo azure-cli-mcp.jar )
  • Configure GitHub Copilot para que se ejecute en modo Agent , haciendo clic en la flecha en la parte inferior de la ventana de chat
  • En la parte superior de la ventana de chat, debería ver el servidor azure-cli-mcp configurado como una herramienta

Uso de Claude Desktop

Para usar el servidor desde Claude Desktop, agréguelo a su archivo claude_desktop_config.json . Tenga en cuenta que debe apuntar a la ubicación donde descargó el archivo azure-cli-mcp.jar .

{ "mcpServers": { "azure-cli": { "command": "java", "args": [ "-jar", "~/Downloads/azure-cli-mcp.jar" ] } } }
-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP que encapsula la CLI de Azure.

Como los LLM son muy buenos para generar comandos CLI de Azure, este servidor le permite a su LLM enumerar recursos, actualizarlos, crearlos o eliminarlos, corregir errores (mirando los registros), solucionar problemas de seguridad, etc.

  1. Demos
    1. Short 2-minute demo with Claude Desktop
    2. Complete 18-minute demo with VS Code
  2. What can it do?
    1. Is it safe to use?
      1. Is it secured, and should I run this on a remote server?
        1. How do I install it?
          1. Install and configure the server with Docker
          2. Installation with Smithery.ai
          3. Install and configure the server with Java
        ID: 5z4pogsrhe