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サーバーと同様に、 stio
トランスポートでのみ動作します。つまり、Azure CLIの資格情報を使用して、ユーザーが自分で行うのと同じように、ローカルマシン上で実行されるはずです。
将来的には、このMCPサーバーがhttp
トランスポートとAzureトークン認証をサポートし、複数のユーザーがリモートで使用できるようになる可能性も十分にあります。これは第二段階であり、MCP仕様とSDKがより安定した段階で実施される予定です。
どうやってインストールするのですか?
このサーバーは、Docker コンテナ内または Java 実行可能 JAR ファイルとして実行できます。
どちらのオプションでも、 stio
トランスポートのみが利用可能です。http http
ポートは後日利用可能になります。
Dockerを使用してサーバーをインストールして構成する
Azureサービスプリンシパルを作成し、 AZURE_CREDENTIALS
環境変数を設定します。これは、ターミナルで次のコマンドを実行することで実行できます。
これにより、指定された名前とロールを持つ新しいサービス プリンシパルが作成され、資格情報が JSON 形式で出力されます。
次のコマンドでDockerを使ってサーバーを実行できます。認証するには、前のコマンドの出力をAZURE_CREDENTIALS
に設定してください。
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
環境を保護できます。完全な例を次に示します。
Claudeデスクトップの使用
Claude Desktop のサーバーを使用するには、 claude_desktop_config.json
ファイルにサーバーを追加します。AZURE_CREDENTIALS 環境変数には、サービスプリンシパル作成AZURE_CREDENTIALS
の JSON 出力を引用符でエスケープして設定する必要があります。
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
ファイルをダウンロードした場所を指定する必要があります。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Azure CLI をラップする MCP サーバー。
LLM は Azure CLI コマンドの生成に非常に優れているため、このサーバーを使用すると、LLM はリソースの一覧表示、リソースの更新/作成/削除、エラーの修正 (ログの確認による)、セキュリティ問題の修正などを行うことができます。
Related MCP Servers
- -securityAlicense-qualityAn MCP server that provides access to Azure Data Explorer (ADX) clusters, allowing users to list tables, execute queries, and retrieve schema information.Last updated -1PythonMIT License
- -securityAlicense-qualityAn 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.Last updated -72PythonApache 2.0
- -securityAlicense-qualityAn MCP server for interacting with Azure. Contains some common Compute and Networking actions, and extensible to add many more.Last updated -1PythonApache 2.0
- -securityAlicense-qualityA 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.Last updated -37MIT License