Azure MCP Server について
Azure MCP Serverは、Azure Blob Storage、Cosmos DB、App Configurationの操作をMCPクライアントに公開し、操作記録を監査リソースから参照できるサーバーです。MCP経由でAzureのデータや設定を管理する人向けです。
主な機能
- 01Blob Storageのコンテナーとファイルを管理
- 02Cosmos DBのコンテナーや項目を作成・検索
- 03App Configurationのキーと値を読み書き・削除
- 04監査リソースから操作記録を参照
活用シーン
- 01Blob Storageのファイルをアップロードまたは読み取り
- 02Cosmos DBの項目を検索・更新
- 03App Configurationのキーと値を読み取り・変更
- 04Azureの操作監査記録を確認
MCP 対応
Blob Storage、Cosmos DB、App Configurationを操作するツールをMCPクライアントに公開します。操作記録は`audit://azure-operations`リソースから参照できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Azure MCP Server
Azure サービスと連携するための Model Context Protocol サーバーの実装です。現在、Azure Blob Storage と Azure Cosmos DB(NoSQL API)に対応しています。このサーバーを通じて実行されたすべての操作は自動的に記録され、audit://azure-operations リソースエンドポイントから参照できます。
Claude Desktop App でローカル実行する
Smithery 経由でインストールする
Smithery 経由で Claude Desktop に Azure MCP Server を自動的にインストールするには、次のコマンドを実行します。
npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude
手動インストール
-
リポジトリをクローンする: このリポジトリをローカルマシンにクローンします。
-
Azure の認証情報を設定する: Azure の認証情報を設定します。このサーバーを利用するには、Blob Storage、Cosmos DB、App Configuration に対する適切な権限を持つ Azure アカウントが必要です。各種認証方法を順番に試す
DefaultAzureCredentialの使用をおすすめします。- 環境変数: 次の環境変数を設定します。
AZURE_STORAGE_ACCOUNT_URL:Azure Storage アカウントの URL(例:https://<your_account_name>.blob.core.windows.net)。AZURE_COSMOSDB_ENDPOINT:Azure Cosmos DB アカウントのエンドポイント URL。AZURE_COSMOSDB_KEY:Azure Cosmos DB アカウントのプライマリキーまたはセカンダリキー。重要:このキーはパスワードと同様に扱い、安全に保管してください。AZURE_APP_CONFIGURATION_ENDPOINT:Azure App Configuration インスタンスの URL。
- Azure CLI: 代わりに、Azure CLI で認証することもできます。必要な権限を持つアカウントでログインしていることを確認してください。このサーバーは
DefaultAzureCredentialを使用するため、環境変数が指定されていない場合は Azure CLI の認証情報で自動的に認証します。az loginを使用してログインしてください。
- 環境変数: 次の環境変数を設定します。
-
Claude Desktop を設定する: 次の設定を
claude_desktop_config.jsonファイルに追加します。- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": { "mcp-server-azure": { "command": "uv", "args": [ "--directory", "/path/to/repo/azure-mcp-server", "run", "azure-mcp-server" ] } }/path/to/repo/azure-mcp-serverをクローンしたリポジトリの実際のパスに置き換えてください。 - macOS:
-
Claude Desktop をインストールして起動する: Claude desktop app をインストールして開きます。
-
セットアップをテストする: Azure ツールを使った読み取りまたは書き込み操作(例:Blob Storage コンテナーの作成、Cosmos DB への項目の追加)を Claude に依頼します。問題が発生した場合は、こちらの MCP デバッグドキュメントを参照してください。
利用可能なツール
Azure Blob Storage の操作
- blob_container_create: 新しい Blob Storage コンテナーを作成します。
container_nameが必要です。 - blob_container_list: 設定済みアカウント内のすべての Blob Storage コンテナーを一覧表示します。
- blob_container_delete: Blob Storage コンテナーを削除します。
container_nameが必要です。 - blob_upload: Blob Storage コンテナーに blob(ファイル)をアップロードします。
container_name、blob_name、およびfile_content(Base64 エンコード済み)が必要です。 - blob_delete: Blob Storage コンテナーから blob を削除します。
container_nameとblob_nameが必要です。 - blob_list: Blob Storage コンテナー内の blob を一覧表示します。
container_nameが必要です。 - blob_read: Blob Storage から blob の内容を読み取ります。
container_nameとblob_nameが必要です。内容はテキストとして返されます。
Azure Cosmos DB(NoSQL API)の操作
コンテナー操作
- cosmosdb_container_create: データベース内に新しい Cosmos DB コンテナーを作成します。
container_nameとpartition_keyが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。partition_keyはパーティションキーを定義する JSON オブジェクトである必要があります(例:{"paths": ["/myPartitionKey"], "kind": "Hash"})。 - cosmosdb_container_describe: Cosmos DB コンテナーの詳細を取得します。
container_nameが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。 - cosmosdb_container_list: データベース内のすべての Cosmos DB コンテナーを一覧表示します。
database_nameは省略可能で、省略した場合はdefaultdbが使用されます。 - cosmosdb_container_delete: Cosmos DB コンテナーを削除します。
container_nameが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。
アイテム操作
- cosmosdb_item_create: Cosmos DB コンテナー内に新しいアイテムを作成します。
container_nameとitem(アイテムを表す JSON オブジェクト)が必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。itemにパーティションキーのフィールドと値が含まれていることを確認してください。 - cosmosdb_item_read: Cosmos DB コンテナーからアイテムを読み取ります。
container_name、item_id、およびpartition_keyが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。partition_keyは、読み取るアイテムのパーティションキー値と必ず一致する必要があります。 - cosmosdb_item_replace: Cosmos DB コンテナー内の既存のアイテムを置き換えます。
container_name、item_id、partition_key、およびitem(更新後のアイテム全体を表す JSON オブジェクト)が必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。partition_keyは、置き換えるアイテムのパーティションキー値と必ず一致する必要があります。 - cosmosdb_item_delete: Cosmos DB コンテナーからアイテムを削除します。
container_name、item_id、およびpartition_keyが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。partition_keyは、削除するアイテムのパーティションキー値と必ず一致する必要があります。 - cosmosdb_item_query: SQL クエリを使用して Cosmos DB コンテナー内のアイテムをクエリします。
container_nameとqueryが必要です。database_nameは省略可能で、省略した場合はdefaultdbが使用されます。パラメーター化クエリ用のparameters配列を任意で指定できます。
Azure App Configuration の操作
- app_configuration_kv_read: Azure App Configuration からキーと値を読み取ります。
keyパラメーターは省略可能で、キーのパターンによるフィルタリングができます(ワイルドカードをサポートします。例:'app1/')。labelパラメーターも省略可能で、ラベル値によるフィルタリングに使用します(ラベルなしの場合は'\0'、すべてのラベルの場合は'')。 - app_configuration_kv_write: Azure App Configuration のキーと値を書き込み、または更新します。
keyとvalueパラメーターが必要です。省略可能なパラメーターには、キーと値にラベルを適用するlabelと、コンテンツタイプを指定するcontent_type(例:'application/json')があります。 - app_configuration_kv_delete: Azure App Configuration からキーと値を削除します。
keyパラメーターが必要です。labelパラメーターは省略可能で、削除するキーのラベル付きバージョンを指定します。
Cosmos DB に関する重要な注意事項:
- パーティションキー: Cosmos DB でデータを効率的に格納、取得するには、パーティションキーが必要です。コンテナーを作成する際は、必ずパーティションキーを定義してください。項目の読み取り、置換、削除を行う際は、アクセスする項目の正しいパーティションキー値を必ず指定してください。パーティションキーは、データ内のプロパティです。
- 大文字と小文字の区別: Cosmos DB のリソース名(データベース、コンテナー、項目 ID)とパーティションキーの値では、大文字と小文字が区別されます。ツール呼び出しでは、正しい大文字・小文字を使用してください。
- 既定のデータベース:
database_nameが指定されていない場合、サーバーはSampleDBという名前のデータベースを既定で使用します。このデータベースが存在することを確認するか、ツール呼び出しの引数で使用するデータベース名を明示的に指定してください。
この README には、Claude デスクトップアプリケーションで Azure MCP Server をセットアップして使用するために必要な情報が記載されています。Azure の認証情報は安全に取り扱い、プロトコルの詳細については MCP のドキュメントを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。