mcpField
A
Azure MCP Server

Azure MCP Server

ローカル
github.com/JCallicoクラウド・インフラ173 週間前に更新

Azure MCP Server について

Azure MCP Serverは、Azure CLIコマンドを通じてAzure Cloudの操作を提供します。サービスプリンシパル認証に対応し、MCPクライアントから幅広いAzureリソースを管理するユーザー向けです。

主な機能

  1. 01仮想マシンとスケールセットの管理
  2. 02ストレージアカウントとコンテナーの管理
  3. 03WebアプリとFunction Appsの操作
  4. 04ネットワークとデータベースの確認
  5. 05Key VaultのシークレットとマネージドIDの管理
  6. 06リソースグループ、ロール、サブスクリプションの管理

活用シーン

  1. 01Azureのコンピューティングリソースの一覧表示や管理
  2. 02ストレージやアプリリソースの作成・削除
  3. 03Azureサブスクリプションとリソースグループの確認
  4. 04Key Vaultのシークレットとロール割り当ての管理

MCP 対応

Azure CLIを介した操作をツールとしてMCPクライアントに提供し、コンピューティング、ストレージ、ネットワーク、データベース、セキュリティ、サブスクリプションを管理します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Azure MCP サーバー

Azure CLI コマンドを通じて、Azure Cloud リソースへのプログラムによるアクセスを提供する Model Context Protocol(MCP)サーバーの実装です。このサーバーにより、Azure サービスとシームレスに統合でき、幅広い Azure 操作を実行できます。

機能

認証
  • Service Principal 認証のサポート
  • トークンの自動管理
  • 環境変数による設定
サポート対象の Azure 操作
コンピューティング
  • Virtual Machines(一覧表示、詳細表示、起動、停止、削除、再起動)
  • Virtual Machine Scale Sets(一覧表示、スケーリング、更新)
  • Azure Kubernetes Service(クラスターの一覧表示)
ストレージ
  • Storage Accounts(一覧表示、詳細表示、作成、削除)
  • Storage Containers(一覧表示、作成、削除)
App Services
  • Web Apps(一覧表示、詳細表示、作成、削除、起動、停止、再起動)
  • Function Apps(一覧表示、詳細表示、削除、起動、停止、再起動)
  • デプロイの管理
ネットワーク
  • Virtual Networks(一覧表示)
  • Network Security Groups(一覧表示)
  • Public IP Addresses(一覧表示)
データベース
  • SQL Servers(一覧表示)
  • Cosmos DB Accounts(一覧表示)
セキュリティ
  • Key Vaults(一覧表示、作成、削除)
  • シークレット管理(一覧表示、設定、削除)
  • Managed Identities(一覧表示)
Container Registry
  • レジストリ管理(一覧表示、作成、削除、更新)
  • リポジトリ管理(一覧表示)
リソース管理
  • Resource Groups(一覧表示、詳細表示、作成、削除)
  • Role Assignments(一覧表示、作成、削除)
  • Role Definitions(一覧表示)
  • サブスクリプション管理(一覧表示、詳細表示)

前提条件

  • Python 3.13 以降
  • Azure CLI がインストールされ、設定済みであること
  • Azure サブスクリプションと適切な権限
  • 必要なアクセス権を持つ Service Principal

インストール

  1. リポジトリをクローンします:
git clone <repository-url>
cd py-az-mcp
  1. uv を使用して依存関係をインストールします:
uv pip sync

または、pyproject.toml から直接インストールします:

uv pip install -e .

設定

  1. ユーティリティスクリプトを実行して、Service Principal を作成し、環境変数を設定します:
python create_service_principal.py

このスクリプトでは、次の処理が行われます:

  • Azure に対話形式で認証します
  • Contributor ロールを持つ新しい Service Principal を作成します
  • 必要な認証情報を含む .env ファイルを自動的に生成します:
    • AZURE_CLIENT_ID
    • AZURE_CLIENT_SECRET
    • AZURE_TENANT_ID
    • AZURE_SUBSCRIPTION_ID

注:セキュリティ上の理由により、.env ファイルは自動的に git の追跡対象から除外されます。

Claude Desktop の設定

この MCP サーバーを Claude Desktop で使用するには、次のように設定します:

  1. Claude Desktop の設定ファイルを作成または更新します:
{
  "mcpServers": {
    "Azure": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/your-path-to/py-az-mcp/server-azure.py"
      ]
    }
  }
}

設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
  1. 両方のパスの YOUR_USERNAME を、実際のシステムユーザー名に置き換えます。

  2. 仮想環境が適切に設定されていることを確認します:

cd /Users/YOUR_USERNAME/Source/Code/py-az-mcp
python -m venv .venv
source .venv/bin/activate
pip install mcp[cli]
  1. 設定を確認します:
    • Claude Desktop を開きます
    • 設定アイコン(⚙️)をクリックします
    • 「MCP Servers」セクションに移動します
    • Azure サーバーが一覧に表示され、有効になっていることを確認します

注:Claude Desktop が必要に応じてサーバーを自動的に起動します。Claude を通じて Azure コマンドを使用する前に、.env ファイル内のすべての環境変数が適切に設定されていることを確認してください。

使用方法

  1. MCP サーバーを起動します:
uv run --with mcp[cli] mcp run server-azure.py
  1. サーバーは http://127.0.0.1:6274 で利用できます。
API 呼び出しの例

すべてのサブスクリプションを一覧表示します:

curl -X POST http://127.0.0.1:6274/tool/azure-cli -H "Content-Type: application/json" -d '{"command": "account list --output json"}'

すべてのリソースグループを一覧表示します:

curl -X POST http://127.0.0.1:6274/tool/azure-cli -H "Content-Type: application/json" -d '{"command": "group list --output json"}'

依存関係

  • Python >= 3.13
  • mcp[cli] >= 1.6.0
  • python-dotenv >= 1.0.0
  • asyncio >= 3.4.3
  • Azure CLI >= 2.57.0(システム要件)

プロジェクト構成

  • server-azure.py:Azure CLI 統合を含む MCP サーバーのメイン実装
  • create_service_principal.py:Azure Service Principal を作成するユーティリティスクリプト
  • main.py:パッケージのエントリーポイント(プレースホルダー)
  • pyproject.toml:プロジェクトの依存関係と設定
  • .env:環境変数の設定(git では追跡されません)
  • .python-version:Python のバージョン要件

エラー処理

サーバーには、包括的なエラー処理が含まれています。

  • すべてのレスポンスに対する JSON 検証
  • Azure CLI のエラー捕捉と整形
  • 認証エラーの処理
  • パラメーターの検証

セキュリティに関する考慮事項

  • サービスプリンシパル認証を使用します
  • 機密データの環境変数による設定をサポートします
  • 情報漏えいを防ぐため、適切なエラー処理を実装します
  • すべての入力パラメーターを検証します

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. 新しいプルリクエストを作成します

ライセンス

MIT ライセンス

Copyright (c) 2025

本ソフトウェアおよび関連するドキュメントファイル(以下「本ソフトウェア」)の複製を取得するすべての人に対し、本ソフトウェアを無制限に取り扱うことを無償で許可します。これには、本ソフトウェアを使用、複製、変更、結合、公開、配布、サブライセンス、販売する権利、および本ソフトウェアを提供する人に同様の権利を許可する権利が含まれますが、これらに限定されません。ただし、以下の条件に従うものとします。

上記の著作権表示および本許諾表示は、本ソフトウェアのすべての複製または重要な部分に含めるものとします。

本ソフトウェアは「現状のまま」提供され、商品性、特定の目的への適合性、および権利非侵害に関する保証を含むがこれらに限定されない、明示または黙示を問わず、いかなる種類の保証もありません。作者または著作権者は、契約、不法行為、その他の行為に起因するかを問わず、本ソフトウェアまたは本ソフトウェアの使用、その他の取引に起因または関連して生じるいかなる請求、損害、その他の責任についても責任を負いません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。