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

Azure CLI MCP 서버

Azure CLI를 래핑하고, 작동 방식을 개선하기 위한 좋은 프롬프트를 추가하고, 이를 노출하는 MCP 서버 입니다.

시민

Claude Desktop을 사용한 2분 분량의 짧은 데모

VS Code를 사용한 18분 데모 완성

무엇을 할 수 있나요?

전체 Azure CLI에 액세스할 수 있으므로 Azure CLI에서 할 수 있는 모든 작업을 수행할 수 있습니다. 다음은 몇 가지 시나리오입니다.

  • 리소스를 나열하고 구성을 확인합니다. 예를 들어 Azure OpenAI에 배포된 모델의 속도 제한을 확인할 수 있습니다.
  • 일부 구성 또는 보안 문제를 해결합니다. 예를 들어, Blob Storage 계정 보안을 요청할 수 있습니다.
  • 리소스 생성. 예를 들어 Azure Container Apps 인스턴스와 Azure Container Registry를 생성하고 관리 ID를 사용하여 연결하도록 요청할 수 있습니다.

사용하기 안전한가요?

MCP 서버는 LLM으로 구동되므로, 생성된 명령을 신중하게 검증하는 것이 좋습니다. 또한, Azure에서 우수한 학습 데이터를 제공하는 Claude 3.7이나 GPT-4o와 같은 우수한 LLM을 사용한다면, 저희 경험은 매우 좋았습니다.

"소프트웨어는 어떠한 종류의 보증 없이 '있는 그대로' 제공됩니다."라고 명시된 라이센스를 읽어 보시기 바랍니다. 따라서 귀하는 본인의 책임 하에 이 MCP 서버를 사용해야 합니다.

보안이 되어 있나요? 원격 서버에서 실행해야 하나요?

간단히 말해서, 아니요 .

이 MCP 서버는 az 명령을 자동으로 실행하며, 공격자가 해킹하여 다른 명령을 실행할 수 있습니다. 현재 구현된 MCP 서버는 대부분의 MCP 서버와 마찬가지로 stio 전송 방식으로만 작동합니다. 즉, Azure CLI 자격 증명을 사용하여 사용자 컴퓨터에서 로컬로 실행되도록 되어 있으며, 사용자가 직접 실행하는 방식과 같습니다.

앞으로 이 MCP 서버가 http 전송과 Azure 토큰 인증을 지원하여 다른 사용자가 원격으로 사용할 수 있도록 하는 것이 충분히 가능합니다. 이는 MCP 사양과 SDK가 안정화되면 구현될 두 번째 단계입니다.

어떻게 설치하나요?

이 서버는 Docker 컨테이너 내부에서 실행되거나 Java 실행 가능 JAR 파일로 실행될 수 있습니다.

두 옵션 모두 stio 전송만 사용할 수 있습니다. http 전송은 나중에 사용할 수 있게 됩니다.

Docker로 서버 설치 및 구성

Azure 서비스 주체를 만들고 AZURE_CREDENTIALS 환경 변수를 설정하세요. 터미널에서 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

지엑스피1

이렇게 하면 지정된 이름과 역할을 가진 새로운 서비스 주체가 생성되고 자격 증명이 JSON 형식으로 출력됩니다.

다음 명령을 사용하여 Docker를 사용하여 서버를 실행할 수 있습니다. 인증을 위해 AZURE_CREDENTIALS 를 이전 명령의 출력으로 설정하세요.

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

VS 코드 사용

VS Code에서 서버를 사용하려면:

  • GitHub Copilot 설치
  • 명령 팔레트를 사용하여 이 MCP 서버를 설치합니다: MCP: Add Server...
    • 구성은 stio 전송을 사용하여 서버에 연결됩니다.
    • 실행할 명령은 docker run -i --rm -e AZURE_CREDENTIALS ghcr.io/jdubois/azure-cli-mcp:latest 입니다. AZURE_CREDENTIALS 환경 변수를 서비스 주체 생성 시 생성된 JSON 출력으로 설정해야 하며, 따옴표는 이스케이프 처리해야 합니다. 완전하고 안전한 예시는 아래에서 확인하세요.
  • 채팅 창 하단의 화살표를 클릭하여 GitHub Copilot을 Agent 모드에서 실행하도록 구성합니다.
  • 채팅 창 상단에 도구로 구성된 azure-cli-mcp 서버가 표시되어야 합니다.

설명서에 설명된 방법을 사용하여 AZURE_CREDENTIALS 환경을 보호할 수 있습니다. 다음은 전체 예입니다.

{ "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}" } } } }

Claude Desktop 사용

Claude Desktop에서 서버를 사용하려면 claude_desktop_config.json 파일에 서버를 추가하세요. AZURE_CREDENTIALS 환경 변수는 서비스 주체 생성 시 생성된 JSON 출력으로 설정해야 하며, 따옴표는 이스케이프 처리되어야 합니다.

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

Smithery.ai를 통한 설치

Smithery.ai를 통해 MCP 서버를 설치할 수 있습니다.

이는 위의 Docker 컨테이너 설치와 유사하지만 Smithery.ai 서버에서 실행됩니다. 이 설치가 처음에는 가장 쉽지만, 다음 사항에 유의하세요.

  • 아래 Docker 설치 섹션에 설명된 대로 AZURE_CREDENTIALS 키가 필요하며, 이 키는 Smithery.ai로 전송됩니다.
  • Smithery.ai는 타사 서비스이며, 이 MCP 서버를 구축하려면 해당 서비스를 신뢰해야 합니다(저희 Docker 이미지와 동일한 Dockerfile을 사용하지만, 저희가 직접 구축한 것은 아닙니다).
  • 아직 초기 미리보기 서비스이므로 앞으로 어떻게 발전할지 보장할 수 없습니다.

Java로 서버 설치 및 구성

이 구성은 서버를 로컬에서 실행합니다. Docker보다 설정이 쉽지만, 컴퓨터에 구성된 Azure CLI를 통해 사용자 자격 증명을 직접 사용하므로 보안이 취약합니다.

  • Azure CLI를 설치하세요. 여기의 지침에 따라 설치하세요.
  • Azure 계정에 인증하세요. 터미널에서 az login 실행하면 됩니다.
  • Java 17 이상이 설치되어 있는지 확인하세요. 터미널에서 java -version 실행하여 확인할 수 있습니다.

바이너리는 GitHub 릴리스 페이지 에서 다운로드할 수 있습니다. GitHub CLI를 사용하여 최신 바이너리를 다운로드하는 방법은 다음과 같습니다.

  • 최신 릴리스를 다운로드하세요: gh release download --repo jdubois/azure-cli-mcp --pattern='azure-cli-mcp.jar'

VS 코드 사용

  • GitHub Copilot 설치
  • 명령 팔레트를 사용하여 이 MCP 서버를 설치합니다: MCP: Add Server...
    • 구성은 stio 전송을 사용하여 서버에 연결됩니다.
    • 실행할 명령은 java -jar ~/Downloads/azure-cli-mcp.jar 입니다( azure-cli-mcp.jar 파일을 다운로드한 위치를 지정해야 함)
  • 채팅 창 하단의 화살표를 클릭하여 GitHub Copilot을 Agent 모드에서 실행하도록 구성합니다.
  • 채팅 창 상단에 도구로 구성된 azure-cli-mcp 서버가 표시되어야 합니다.

Claude Desktop 사용

Claude Desktop에서 서버를 사용하려면 claude_desktop_config.json 파일에 서버를 추가하세요. 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

Azure CLI를 래핑하는 MCP 서버입니다.

LLM은 Azure CLI 명령을 생성하는 데 매우 뛰어나므로 이 서버를 사용하면 LLM에서 리소스를 나열하고, 업데이트/생성/삭제하고, 오류를 수정(로그를 확인하여), 보안 문제를 해결할 수 있습니다.

  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