Azure Model Context Protocol (MCP) サーバーを使用すると、自然言語プロンプトを使用して Azure App Service リソースを管理できます。 Web アプリと API のデプロイと更新、アプリ設定の構成、ランタイムの問題の診断、アプリの詳細の一覧表示または取得を行うことができます。
Azure App Service は、Web アプリと API を構築、デプロイ、スケーリングするためのフル マネージド プラットフォームです。詳細については、 Azure App Service のドキュメントを参照してください。
注
ツール パラメーター: Azure MCP Server ツールは、タスクを完了するために必要なデータのパラメーターを定義します。 これらのパラメーターの一部は、各ツールに固有であり、ここに記載されています。 その他のパラメーターはグローバルであり、すべてのツールで共有されます。 詳細については、「 ツールパラメーター」を参照してください。
データベース接続の追加
このツールは、既存のデータベースの接続文字列を使用して、Azure App Service にデータベース接続を追加します。 アプリが指定したデータベースとデータベース サーバーにアクセスできるように、App Service の接続設定を構成します。 接続文字列を指定しない場合、ツールによって既定の接続文字列が生成されます。
プロンプトの例を次に示します。
- "データベース サーバー 'contoso-sql.database.windows.net' を持つデータベース型 'sqlServer' のデータベース 'ordersdb' をリソース グループ 'rg-prod' のアプリ 'webapp-prod' に追加します。"
- "リソース グループ 'rg-staging' のアプリ 'api-staging' のデータベース サーバー 'contoso-mysql.mysql.database.azure.com' でデータベース 'userdb' データベースの種類 'MySQL' を構成します。"
- "データベース 'appdata' データベースの種類 'PostgreSQL' とデータベース サーバー 'pgserver.postgres.database.azure.com' をリソース グループ 'rg-backend' のアプリ 'backend-app' に接続します。"
- "CosmosDB データベース 'catalogdb' データベースの種類 'CosmosDB' とデータベース サーバー 'contoso-cosmos.documents.azure.com' をリソース グループ 'rg-ecommerce' のアプリ 'ecommerce-app' に追加します。"
- "データベース サーバー 'adventure-works-sql.database.windows.net' のデータベース型 'sqlServer' のデータベース 'inventory' をリソース グループ 'rg-inventory' のアプリ 'inventory-service' に追加します。"
- リソースグループ 'rg-analytics' のアプリ 'analytics-api' のために、データベースサーバー 'contoso-pg.postgres.database.azure.com' で、データベースタイプ 'PostgreSQL' の 'analytics' データベースを、接続文字列 'Server=tcp:contoso-pg.postgres.database.azure.com;Database=analytics;User Id=<your-username>;Password=<your-password>' を使用して構成します。
- データベース サーバー 'adventure-works-mysql.mysql.database.azure.com' を持ち、データベースの種類が 'MySQL' のデータベース 'customers' をリソース グループ 'rg-crm' のアプリ 'crm-web' に、接続文字列 'Server=adventure-works-mysql.mysql.database.azure.com;Database=customers;Uid=<あなたのユーザー名>;Pwd=<あなたのパスワード>' を使用して追加します。
- "データベース サーバー 'fabrikam-cosmos.documents.azure.com' のデータベース 'sessiondb' データベースの種類 'CosmosDB' を、リソース グループ 'rg-session' のアプリ 'session-service' に接続します。"
- "リソース グループ 'rg-orders' のアプリ 'order-processor' のデータベース サーバー 'fabrikam-sql.database.windows.net' にデータベース 'orders' データベースの種類 'SqlServer' を設定します。"
- リソース グループ 'rg-logging' 内のアプリ 'logger-app' 用に、データベース サーバー 'fabrikam-pg.postgres.database.azure.com' にデータベース 'logs'(データベースの種類 'PostgreSQL')を構成し、接続文字列 'Host=fabrikam-pg.postgres.database.azure.com;Database=logs;Username=<あなたのユーザー名>;Password=<あなたのパスワード>' を使用します。
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| データベース | 必須 | 接続するデータベースの名前 (例: mydb)。 |
| データベース サーバー | 必須 | データベースのサーバー名またはエンドポイント (たとえば、contoso-server.database.windows.net)。 |
| データベースの種類 | 必須 | データベースの種類: SqlServer、MySQL、PostgreSQL、Cosmos DB。 |
| リソース グループ | 必須 | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| 接続文字列 | オプション | データベースの接続文字列。 指定しない場合は、既定値が生成されます。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
Web アプリの状態を変更する
このツールは、次のいずれかの状態を使用して、Azure App Service Web アプリの実行状態を更新します。
-
start: 停止した Web アプリを開始します。 -
stop: 実行中の Web アプリを停止します。 -
restart: 実行中の Web アプリを再起動します。
restartを使用すると、このツールはソフト再起動を実行し、操作が完了するまで同期的に待機してから戻ることができます。
このツールは、操作の結果を示すメッセージを返します。
プロンプトの例を次に示します。
- "リソース グループ 'rg-staging' のアプリ名 'api-staging' と状態変更 'start' で Web アプリを起動します。"
- "状態変更 'stop' のリソース グループ 'rg-prod' にある 'webapp-prod' という名前の App Service アプリを停止します。"
- リソース グループ 'rg-ecommerce' のアプリ名 'shop-api' を、状態変更を 'restart' に設定し、ソフト再起動を 'true' にして再起動します。
- "状態変更 'restart' のリソース グループ 'rg-dev' にあるアプリ名 'my-webapp' を再起動し、ソフト再起動は、'false' に設定し、'true' になるまで待機します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| リソース グループ | 必須 | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| 状態の変更 | 必須 | 実行する状態変更アクション。 有効な値は、 start、 stop、 restartです。 |
| ソフト再起動 | オプション | 状態の変更が restartされると、ソフト再起動を実行するかどうかを示します。 |
| 完了するまで待つ | オプション | 状態の変更が restart場合は、状態変更操作が完了するまで同期的に待機してから戻るかどうかを示します。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Web アプリを診断する
このツールは、Azure App Service Web アプリで指定された検出機能を実行し、検出機能の診断結果を返します。 出力には、検出結果と関連する診断データが含まれており、アプリの正常性と動作を調査するのに役立ちます。
プロンプトの例を次に示します。
- "リソース グループ 'rg-prod' の Web アプリ 'webapp-prod' を検出機能 'Availability' で診断します。"
- '2025-03-01T00:00:00Z' と '2025-03-01T01:00:00Z' の間の検出機能 'CpuAnalysis' を使用して、リソース グループ 'webapp-dev' の Web アプリ 'my-webapp' を間隔 'PT5M' で診断します。
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| Detector ID | 必須 | 実行する診断検出器の ID。
id ツールの [appservice webapp diagnostic list] フィールドを使用します。 |
| リソース グループ | 必須 | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| 終了時刻 | オプション | 終了時刻 (ISO 形式など) ( 2023-01-01T00:00:00Z)。 |
| Interval | オプション | 時間間隔 (たとえば、1 時間の PT1H 、5 分間 PT5M )。 |
| 開始時刻 | オプション | ISO 形式の開始時刻 (たとえば、 2023-01-01T00:00:00Z)。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
デプロイの詳細を取得する
このツールは、Azure App Service Web アプリでのデプロイに関する詳細情報を取得します。 デプロイ名、デプロイがアクティブかどうか、開始時刻と終了時刻、展開を作成して実行したユーザー、デプロイの種類などのメタデータが返されます。
プロンプトの例を次に示します。
- "リソース グループ 'rg-prod' の Web アプリ 'webapp-prod' のデプロイを一覧表示します。"
- "リソース グループ 'rg-prod' の Web アプリ 'webapp-prod' のデプロイ 'd4f8c9a2-1b3e-4c5d-9f7a-123456abcdef' を取得します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| リソース グループ | 必須 | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| デプロイ ID | オプション | 配置の ID。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
Web アプリの詳細を取得する
アプリ名、リソース グループ、場所、ランタイム スタック、状態、ホスト名など、Azure App Service Web アプリに関する詳細情報を取得します。
プロンプトの例を次に示します。
- "サブスクリプション内の Web アプリを一覧表示します。"
- "リソース グループ 'rg-prod' に Web アプリを表示します。"
- "リソース グループ 'rg-staging' の Web アプリ 'api-staging' の詳細を取得します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | オプション | Azure App Service Web アプリの名前 (たとえば、 contoso-webapp)。 このツールは、 App nameを指定すると、特定の Web アプリの詳細を返します。 App nameを指定しない場合は、サブスクリプション内のすべての Web アプリ、または指定した resource group と subscriptionに関する情報が返されます。 |
| リソース グループ | オプション | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
アプリの設定を取得する
このツールは、Azure App Service Web アプリのアプリケーション設定を取得し、各設定のキーと値のペアを返します。 アプリ設定には接続文字列やその他の機密性の高い値を含めることができるため、返された値をシークレットとして扱い、公開を制限します。
プロンプトの例を次に示します。
- "リソース グループ 'rg-prod' の Web アプリ 'my-webapp' のアプリケーション設定を一覧表示します。"
- "リソース グループ 'rg-staging' の Web アプリ 'orders-api' のアプリケーション設定を取得します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service Web アプリの名前 (たとえば、 my-webapp)。 |
| リソース グループ | 必須 | Web アプリを含む Azure リソース グループの名前 (prod-rg など)。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ✅ | ✅ | ❌ |
診断検出器を一覧表示する
このツールは、指定された Azure App Service Web アプリの検出機能に関する詳細情報を取得します。 検出器ごとに、検出器の名前、検出器の種類、説明、カテゴリ、分析の種類が返されます。 結果は、問題を調査し、Web アプリで使用できる診断を理解するのに役立ちます。
プロンプトの例を次に示します。
- "リソース グループ 'rg-prod' の Web アプリ 'my-webapp' の診断検出機能を一覧表示します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| リソース グループ | 必須 | Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
アプリの設定を更新する
このツールは、App Service Web アプリのアプリケーション設定を更新します。
add、set、またはdeleteの 3 つの更新プログラムの種類のいずれかを選択できます。
-
add: 指定した名前と値を使用して、新しいアプリケーション設定を作成します。 アプリケーション設定が既に存在する場合、操作は失敗し、エラーが返されます。 -
set: アプリケーション設定の値を作成または更新します。 アプリケーション設定が存在しない場合、setはaddのように動作します。 存在する場合、値は上書きされます。 -
delete: 指定したアプリケーション設定を削除します。 アプリケーション設定が存在しない場合、アクションは実行されません。
addとsetの更新の種類には、アプリケーション設定の名前と値の両方が必要です。
delete更新の種類には、アプリケーション設定名のみが必要です。
プロンプトの例を次に示します。
- リソース グループ 'rg-prod' 内のアプリ 'my-webapp' に、アプリケーション設定名 'feature-flag' を値 'true' で追加し、設定更新タイプを 'add' にします。
- アプリケーション設定名 'db-connection-string' を 'Server=tcp:contoso-sql.database.windows.net;Initial Catalog=orders' という値で、リソースグループ 'rg-orders' にあるアプリ 'orders-webapp' に対して設定の更新タイプ 'set' で設定します。
- "更新の種類 'delete' を設定して、リソース グループ 'rg-archive' のアプリ 'legacy-service' からアプリケーション設定名 'old-api-key' を削除します。"
| パラメーター | 必須または省略可能 | Description |
|---|---|---|
| アプリ名 | 必須 | Azure App Service の名前 (たとえば、 my-webapp)。 |
| リソース グループ | 必須 | Web アプリを含む Azure リソース グループの名前。 |
| 設定名 | 必須 | アプリケーション設定の名前。 |
| 更新の種類の設定 | 必須 | アプリケーション設定で実行する更新の種類。 有効な値: add、 set、 delete。 |
| 設定値 | オプション | アプリケーション設定の値。
addとsetの更新の種類に必要です。 |
| 破壊的な | 冪等性 | オープン ワールド | [読み取り専用] | Secret | ローカル必須 |
|---|---|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |