Skip to main content
Glama
jdubois

Azure CLI MCP

by jdubois

Azure CLI MCP サーバー

これは、 Azure CLIをラップし、動作を改善するための適切なプロンプトを追加して公開するMCP サーバーです。

鍛冶屋のバッジ

デモ

Claude Desktop による 2 分間の短いデモ

ショートデモ

VS Code を使った 18 分間のデモを完了する

完全なデモ

Related MCP server: mcp-browser-use

それは何ができるのでしょうか?

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サーバーと同様に、 stioトランスポートでのみ動作します。つまり、Azure CLIの資格情報を使用して、ユーザーが自分で行うのと同じように、ローカルマシン上で実行されるはずです。

将来的には、このMCPサーバーがhttpトランスポートとAzureトークン認証をサポートし、複数のユーザーがリモートで使用できるようになる可能性も十分にあります。これは第二段階であり、MCP仕様とSDKがより安定した段階で実施される予定です。

どうやってインストールするのですか?

このサーバーは、Docker コンテナ内または Java 実行可能 JAR ファイルとして実行できます。

どちらのオプションでも、 stioトランスポートのみが利用可能です。http httpポートは後日利用可能になります。

Dockerを使用してサーバーをインストールして構成する

Azureサービスプリンシパルを作成し、 AZURE_CREDENTIALS環境変数を設定します。これは、ターミナルで次のコマンドを実行することで実行できます。

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

これにより、指定された名前とロールを持つ新しいサービス プリンシパルが作成され、資格情報が 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 。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デスクトップの使用

Claude Desktop のサーバーを使用するには、 claude_desktop_config.jsonファイルにサーバーを追加します。AZURE_CREDENTIALS 環境変数には、サービスプリンシパル作成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 サーバーを構築するには Smithery.ai を信頼する必要があります (当社の 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デスクトップの使用

Claude Desktop のサーバーを使用するには、 claude_desktop_config.jsonファイルにサーバーを追加してください。azure azure-cli-mcp.jarファイルをダウンロードした場所を指定する必要があります。

{
    "mcpServers": {
        "azure-cli": {
            "command": "java",
            "args": [
                "-jar",
              "~/Downloads/azure-cli-mcp.jar"
            ]
        }
    }
}

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides access to Azure Data Explorer (ADX) clusters, allowing users to list tables, execute queries, and retrieve schema information.
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that connects any MCP client (like Claude or Cursor) with the browser using browser-use, allowing clients to utilize existing LLMs without requiring additional API keys.
    80
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A cloud-based custom MCP server using Azure Functions that enables saving and retrieving code snippets with secure communication through keys, HTTPS, OAuth, and network isolation options.
    59
    MIT