Claude Media
Azure MCPサーバーでAzureリソースをClaudeから操作する

Azure MCPサーバーでAzureリソースをClaudeから操作する

Microsoft公式のAzure MCPサーバーをClaude Codeにインストールし、45以上のAzureサービスを自然言語で操作する手順を解説します。

Azure MCPサーバーとは

Azure MCPサーバーは、Microsoft公式のModel Context Protocol実装で、45以上のAzureサービス領域を単一のMCPサーバーに集約しています。GitHub上で開発が公開されており、機能追加や不具合報告もそのリポジトリで受け付けています。Storage・Key Vault・AKS・Cosmos DB・SQL Database・Terraform・Bicepなど、個別にMCPサーバーを立てなくても、1つの接続でAzureの主要サービスを自然言語から操作できます。

多くのMCPサーバーはサービスごとに個別のサーバーを立てますが、Azure MCPサーバーは単一サーバーに全サービスのツールをまとめる設計です。接続は1本で済みます。認証はAzure Identityライブラリを介したMicrosoft Entra IDに一本化されており、接続先ごとに別々の認証情報を管理する必要がありません。アクセス範囲はAzureのRBAC(ロールベースアクセス制御)にそのまま従うため、AIエージェントができる操作は接続したユーザーやマネージドIDが元々持っている権限を超えません。

このMCPサーバーは、ローカル開発者が自分の開発環境からAzureリソースを操作するためのツールと位置付けられています。公式ドキュメントも、外部向けアプリケーションや承認された開発環境の外での利用は想定していないと明記しています。

カバーするサービス領域はStorage・Key Vault・AKS・Cosmos DB・SQL Database・Terraformだけでなく、App Service・Event Grid・Service Bus・Azure Monitor・Azure Advisor・Azure AI Search・Azure Functions・Microsoft Foundryのモデル管理まで多岐にわたります。「Advisorの推奨事項を要約して」「ストレージアカウントの一覧を見せて」「Log AnalyticsにKQLクエリを投げて」のように、サービスをまたいだ操作を同じ会話の中で続けられるのが、個別サーバーを何本も繋ぐ構成との違いです。

もともとこのプロジェクトはAzure/azure-mcpというリポジトリで開発されていましたが、2025年8月25日にmicrosoft/mcpへ移管されアーカイブされました。検索や生成AIの回答で古いリポジトリ名が出てくることがありますが、現在の正しいソースとissue登録先はmicrosoft/mcp側にあります。

ステップ1: Claude Codeにインストールする

Claude Code向けには、MCPサーバー本体とAzure関連のエージェント・Skillsをまとめたプラグインが用意されています。次のコマンドで、Anthropic公式のプラグインマーケットプレイスからインストールします。

/plugin install azure@claude-plugins-official

Claude Desktopでは、.mcpbファイルをドラッグ&ドロップする方法でもインストールできます。プラグインマーケットプレイス経由のインストールがClaude Code向けの公式推奨経路であるのに対し、.mcpbはClaude Desktop向けの代替手段という位置付けです。

プラグイン経由でなくmcp.jsonを自分で書く場合は、Node.js(npx)・Python(uvx)・.NET(dnx)・Dockerのいずれかで起動できます。もっとも依存が少ないのはnpxで、Node.js(LTS)さえ入っていれば追加のインストール作業なしに-yフラグでオンデマンド取得・起動します。

{
  "mcpServers": {
    "azure-mcp-server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"]
    }
  }
}

Dockerで動かす場合は、mcr.microsoft.com/azure-sdk/azure-mcpイメージを使います。Docker起動の手順ではサービスプリンシパル認証(.envファイルにAZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRET)が案内されています。

{
  "mcpServers": {
    "azure-mcp-server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file", "/full/path/to/.env", "mcr.microsoft.com/azure-sdk/azure-mcp:latest"]
    }
  }
}

ステップ2: Azureアカウントで認証する

Azure MCPサーバー自体はトークンを保管・管理せず、常にAzure Identity SDK経由で認証情報を扱います。ローカルのnpx/dnx/uvx起動では、事前にaz login(またはAzure PowerShellのConnect-AzAccount)でサインインしておけば、そのセッションの認証情報がそのまま使われます。Docker起動ではサービスプリンシパルの資格情報を環境変数で渡す構成が案内されています。

権限はAzureのRBACに従うため、AIエージェントが実行できる操作は接続したアカウントに割り当てられたロール次第です。読み取り専用のロールしか持たないアカウントで接続すれば、AIエージェントも読み取りしかできません。あらかじめ最小権限のロールを用意しておくと、書き込み系の操作を試したくないときの安全装置になります。

Azure MCPサーバーはトークンを自分で発行したり延長したりしません。Azure Identityライブラリが認証方式を自動判定して都度トークンを取得するだけなので、権限の変更はAzure側のロール割り当てを変えるだけで即座に反映されます。MCPサーバー自体に権限設定の項目はありません。ホスト側(VS CodeやClaude Codeなど)でツールの有効・無効を切り替えられる場合でも、それはAzure側の実際のアクセス許可を上書きするものではない点に注意します。

ステップ3: 使い方とツールの絞り込み

接続後は「Azureストレージアカウントの一覧を見せて」のような自然言語のプロンプトで、Storage・App Service・AKS・Cosmos DBなど幅広いAzureサービスを横断的に操作できます。45以上のサービス領域をカバーする一方で、ツール数が多くなるとAIエージェントが読み込むコンテキストも増えます。

そのための仕組みがAzure Skills Pluginです。個別のツール呼び出しをそのまま並べるのではなく、azure-prepareazure-validateazure-deployazure-diagnosticsazure-costのような26以上の再利用可能なAzure Skillsとして提供されており、デプロイや診断のような一連の操作を構造化されたワークフローとガードレール付きでまとめて呼び出せます。Skillsはオンデマンドで読み込まれるため、毎回すべてのツールをコンテキストに載せる必要がありません。Azure MCPサーバーと、同じくAzureのAI基盤サービスを扱うFoundry MCPサーバーの両方から利用できる設計です。

ツール自体はホストに接続した時点で自動的に有効になるわけではなく、多くのホストでは既定で無効になっています。ホスト側の設定でいったん有効にすれば、以降のセッションでも有効な状態が引き継がれます。

主権クラウド(中国リージョンや米国政府クラウド)を使う組織向けには、--cloudオプションまたはAZURE_CLOUD環境変数でAzure China CloudやAzure US Governmentへの接続を切り替えられます。

azmcp server start --cloud AzureChinaCloud

よくあるつまずき

ツールが多すぎて目的の操作が埋もれる

45以上のサービス領域をすべて有効にすると、AIエージェントが提示するツール候補も膨大になります。特定のサービスだけに絞りたい場合は、まず前述のAzure Skillsのような構造化されたワークフロー単位での利用を検討します。

Dockerでの認証エラー

.envファイルにサービスプリンシパルの資格情報を用意し忘れると、コンテナ起動後の最初のAzure呼び出しで認証エラーになります。

テレメトリの送信

既定でMicrosoftへ利用状況のテレメトリが送信されます。AZURE_MCP_COLLECT_TELEMETRYfalseに設定すると全テレメトリを、AZURE_MCP_COLLECT_TELEMETRY_MICROSOFTfalseに設定するとMicrosoft向けの送信だけを止められます。

Entra IDの認証方式は環境ごとに検証が必要

Azure Identity SDKは複数の認証方式(対話ログイン・マネージドID・サービスプリンシパル等)を自動判定しますが、CI環境やコンテナ環境ではどの方式が使われているかを都度確認しないと、意図しない資格情報で接続してしまうことがあります。ローカル開発機とCIランナーで同じmcp.jsonを使い回すと、想定と違うアカウントの権限で操作が実行される事故につながります。

まとめ

Azure MCPサーバーは、Storage・Key VaultからTerraform・AKSまでを1つのMCPサーバーに集約した、Microsoft公式のAzure操作インターフェースです。Claude Codeなら/plugin install azure@claude-plugins-officialの1コマンドで導入でき、権限はAzureのRBACにそのまま従います。ツール数が多いぶん、Azure Skills Pluginのような構造化された呼び出し単位を意識すると扱いやすくなります。

Claude以外にもVisual Studio Code・Visual Studio・Cursor・Windsurf・Eclipse・IntelliJなど幅広いホストから同じMCPサーバーに接続できるため、チームの開発環境がエディタごとに違っていても、Azure操作の入口を1つのMCPサーバーに揃えられます。

似た設計の他クラウドMCPサーバーとしてはgcloudのMCPサーバーでGoogle Cloudを自然言語操作するがあります。

Entra IDでの認証設計を先に理解しておきたい場合はWIFをMicrosoft Entra ID(Azure)と連携するを参考にしてください。IaC寄りの使い方はTerraform MCPサーバーの使い方、Key Vault単体の設定はClaude CMEKをAzure Key Vaultで設定する手順にそれぞれまとめています。

この記事を共有:XはてブLinkedIn