hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides tools for interacting with Azure services, specifically Azure Blob Storage and Azure Cosmos DB (NoSQL API). Enables operations like creating/listing/deleting containers, uploading/reading/deleting blobs, and creating/reading/querying/deleting items in Cosmos DB.
Azure MCP サーバー
Azureサービスと連携するためのモデルコンテキストプロトコルサーバーの実装です。現在、Azure Blob StorageとAzure Cosmos DB (NoSQL API)をサポートしています。このサーバーを介して実行されるすべての操作は自動的にログに記録され、 audit://azure-operations
リソースエンドポイントからアクセスできます。
Claudeデスクトップアプリでローカルで実行する
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Azure MCP Server を自動的にインストールするには:
手動インストール
- **リポジトリのクローンを作成する:**このリポジトリをローカル マシンにクローンします。
- Azure 資格情報の設定: Azure 資格情報を設定します。このサーバーには、Blob Storage、Cosmos DB、App Configuration への適切な権限を持つ Azure アカウントが必要です。DefaultAzureCredential
DefaultAzureCredential
使用すると、複数の認証方法を順番に試行します。- **環境変数:**次の環境変数を設定します。
AZURE_STORAGE_ACCOUNT_URL
: Azure ストレージ アカウントの 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
Copy/path/to/repo/azure-mcp-server
クローンされたリポジトリへの実際のパスに置き換えます。 - macOS:
- Claude デスクトップをインストールして起動します。Claudeデスクトップ アプリをインストールして開きます。
- セットアップのテスト: Claude に Azure ツールを使用して読み取りまたは書き込み操作(例:Blob Storage コンテナーの作成、Cosmos DB へのアイテムの追加)を実行してもらいます。問題が発生した場合は、こちらのMCP デバッグドキュメントを参照してください。
利用可能なツール
Azure Blob ストレージ操作
- **blob_container_create:**新しいBlob Storageコンテナを作成します。container_name
container_name
必要です。 - **blob_container_list:**構成されたアカウント内のすべての Blob Storage コンテナーを一覧表示します。
- blob_container_delete: Blob Storage コンテナーを削除します。container_name
container_name
必要です。 - blob_upload: BLOB(ファイル)をBlob Storageコンテナにアップロードします。container_name、
blob_name
、container_name``file_content
(Base64エンコード)が必要です。 - blob_delete: Blob Storage コンテナーから BLOB を削除します。container_name と
blob_name``container_name
必要です。 - blob_list: Blob Storage コンテナー内の BLOB を一覧表示します。container_name
container_name
必要です。 - blob_read: Blob StorageからBLOBの内容を読み取ります。container_nameと
blob_name``container_name
必要です。内容をテキストとして返します。
Azure Cosmos DB (NoSQL API) 操作
コンテナ操作
- **cosmosdb_container_create:**データベース内に新しい Cosmos DB コンテナを作成します。container_name と
partition_key
が必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。partition_keypartition_key
パーティションキーを定義する JSON オブジェクトである必要container_name
あります(例:{"paths": ["/myPartitionKey"], "kind": "Hash"}
)。 - cosmosdb_container_describe: Cosmos DB コンテナの詳細を取得します。container_name
container_name
必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。 database_name
**:**データベース内のすべてのCosmos DBコンテナを一覧表示します。database_nameはオプションで、デフォルトはdefaultdb
です。- cosmosdb_container_delete: Cosmos DB コンテナを削除します。container_name
container_name
必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。
アイテム操作
- cosmosdb_item_create: Cosmos DB コンテナ内に新しいアイテムを作成します。container_name
container_name``item
(アイテムを表す JSON オブジェクト)が必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。item
にパーティションキーフィールドと値が含まれていることを確認してください。 - cosmosdb_item_read: Cosmos DB コンテナからアイテムを読み取ります。container_name、
item_id
、partition_key
が必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。partition_keypartition_key``container_name
読み取るアイテムのパーティションキー値と一致する必要があります。 - cosmosdb_item_replace: Cosmos DB コンテナー内の既存のアイテムを置き換えます。container_name、
item_id
、partition_key
、およびitem
(更新されたアイテム全体を表す JSON オブジェクト)が必要です。database_namedatabase_name
省略可能で、デフォルトはdefaultdb
です。partition_keypartition_key``container_name
置き換え対象のアイテムのパーティションキー値と一致する必要があります。 - cosmosdb_item_delete: Cosmos DB コンテナからアイテムを削除します。container_name、
item_id
、partition_key
が必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。partition_keypartition_key``container_name
削除するアイテムのパーティションキー値と一致する必要があります。 - cosmosdb_item_query: SQLクエリを使用して、Cosmos DBコンテナ内のアイテムをクエリします。container_nameと
query
が必要です。database_namedatabase_name
オプションで、デフォルトはdefaultdb
です。オプションで、パラメーター化クエリ用のparameters
配列を指定container_name
ます。
Azure アプリ構成操作
- app_configuration_kv_read: Azure App Configuration から
key
と値を読み取ります。key パラメーターはオプションで、キーパターンによるフィルタリングが可能です(ワイルドカードをサポート、例: 'app1/label
)。label パラメーターはオプションで、ラベル値によるフィルタリングが可能です(ラベルなしの場合は '\0'、任意のラベルの場合は ' ')。 - app_configuration_kv_write: Azure App Configuration にキーと値の書き込みまたは更新を行います。key と
value
パラメータが必要です。省略可能なパラメータには、key
/value にラベルを適用するためのlabel
と、コンテンツタイプ(例: 'application/json')を指定するためのcontent_type
があります。 - app_configuration_kv_delete: Azure App Configurationからキーと値を削除します。key
key
が必要です。labellabel
はオプションで、削除するキーのラベル付きバージョンを指定します。
Cosmos DB に関する重要な注意事項:
- パーティションキー: Cosmos DB では、効率的なデータの保存と取得のためにパーティションキーが必要です。コンテナーを作成する際には、パーティションキーを定義する必要があります。アイテムの読み取り、置換、または削除を行う際には、アクセスするアイテムの正しいパーティションキー値を指定する必要があります。パーティションキーはデータ内のプロパティです。
- 大文字と小文字の区別: Cosmos DB リソース名(データベース、コンテナー、アイテム ID)とパーティション キーの値は大文字と小文字が区別されます。ツール呼び出しでは、大文字と小文字を正しく区別してください。
- デフォルトデータベース:
database_name
が指定されていない場合、サーバーはデフォルトでSampleDB
というデータベースを使用します。このデータベースが存在することを確認するか、ツール呼び出しの引数で必要なデータベース名を明示的に指定してください。
このREADMEには、ClaudeデスクトップアプリケーションでAzure MCPサーバーをセットアップして使用するために必要な情報が記載されています。Azureの資格情報は安全に管理してください。プロトコルの詳細については、MCPのドキュメントを参照してください。
You must be authenticated.
Tools
このサーバーは、Azure Blob Storage および Cosmos DB とのシームレスなやり取りを実現するモデル コンテキスト プロトコルを実装し、操作の自動ログ記録と監査追跡を可能にします。