Azure Database for MySQL 用の Azure MCP サーバー ツール

Azure MCP Server ツールは、Azure Database for MySQL サーバー、データベース、構成設定、スキーマの管理に役立ちます。 ツールを使用して、サーバーとデータベースの取得と一覧表示、テーブル スキーマとデータのクエリを実行し、自然言語プロンプトを使用してサーバー パラメーターを設定できます。

Azure Database for MySQL は、MySQL コミュニティ エディションに基づくマネージド リレーショナル データベース サービスです。 詳細については、 Azure Database for MySQL のドキュメントを参照してください

ツール パラメーター: Azure MCP Server ツールは、タスクを完了するために必要なデータのパラメーターを定義します。 これらのパラメーターの一部は、各ツールに固有であり、以下に記載されています。 その他のパラメーターはグローバルであり、すべてのツールで共有されます。 詳細については、「 ツールパラメーター」を参照してください。

MySQL サーバー データベースを取得する

サブスクリプション内の Azure Database for MySQL サーバー、データベース、またはテーブルを一覧表示します。 既定では、このツールはすべてのサーバーを返します。 サーバー上のデータベースを一覧表示する server パラメーターを指定するか、データベース内のテーブルを一覧表示する server パラメーターと database パラメーターの両方を指定します。

プロンプトの例を次に示します。

  • "リソース グループ 'rg-prod' 内のすべての MySQL サーバーをユーザー名 'dbadmin' で一覧表示します。"
  • "ユーザー名 'mysqluser' を使用して、リソース グループ 'web-rg' の MySQL サーバーを表示します。"
  • "ユーザー名 'adminuser' のリソース グループ 'rg-staging' に含まれる MySQL サーバーは何ですか?
  • "ユーザー名 'dbadmin' を使用して、リソース グループ 'rg-prod' 内のサーバー 'mysql-server-01' 内のすべての MySQL データベースを一覧表示します。"
  • "ユーザー名 'mysqluser' のリソース グループ 'rg-dev' のサーバー 'mysql-dbserver' 上の MySQL データベースを表示してください。"
  • "ユーザー名 'dbadmin' を使用して、リソース グループ 'rg-prod' のサーバー 'mysql-server-01' の MySQL データベース 'salesdb' 内のすべてのテーブルを一覧表示します。"
  • データベース 'inventory' (サーバー 'mysql-dbserver'、リソースグループ 'rg-test'、ユーザー名 'mysqluser')のテーブルを見せてください。
パラメーター 必須または省略可能 Description
リソース グループ 必須 リソースを含む Azure リソース グループの名前。
ユーザー名 必須 Azure Database for MySQL サーバーにアクセスするユーザー名。
データベース名 オプション テーブルを一覧表示する Azure Database for MySQL データベースの名前。 サーバー名パラメーターが必要です。
サーバー名 オプション データベースを一覧表示する Azure Database for MySQL サーバーの名前。

ツール注釈ヒント:

破壊的: ❌ |冪等: ✅ |オープンワールド: ❌ |読み取り専用: ✅ |シークレット: ❌ |ローカル必須: ❌

例示

  • サブスクリプション 'contoso-subscription' およびリソース グループ 'prod-rg' 内のすべての Azure Database for MySQL サーバーを一覧表示します。
  • リソース グループ 'prod-rg' のサーバー 'mysql-prod-01' 上のデータベースを一覧表示します。
  • リソース グループ 'prod-rg' のサーバー 'mysql-prod-01' のデータベース 'salesdb' のテーブルを一覧表示します。

MySQL データベースのクエリを実行する

モデル コンテキスト プロトコル (MCP) ツールは、Azure Database for MySQL フレキシブル サーバー データベースに対して安全で読み取り専用の SQL SELECT クエリを実行します。 このツールを使用して、テーブル データを変更せずに取得または検査します。 このツールは、SELECTINSERTUPDATEDELETEREPLACEMERGETRUNCATEALTERCREATEなどのDROP以外のステートメントを拒否します。 また、複数のステートメント、書き込みを非表示にするコメント、トランザクション制御 (BEGIN/COMMIT/ROLLBACK)、 INTO OUTFILE、その他の破壊的キーワードも拒否されます。 このツールは、データの整合性を確保するために、1 つの SELECT ステートメントのみを実行します。

最適な結果を得るには、 SELECT *を使用するのではなく、必要な列を一覧表示します。 WHEREフィルターを追加し、ページングにLIMIT/OFFSETを使用し、確定的な結果を得るためのORDER BYを追加します。 不要な機密データを返さないようにします。

プロンプトの例を次に示します。

  • "サーバー 'mysql-prod-server' のリソース グループ 'rg-prod' のデータベース 'ecommerce_db' で、クエリ 'SELECT id, name, email FROM customers WHERE id > 100 ORDER BY name LIMIT 50' をユーザー 'readonlyuser' として実行します。"
パラメーター 必須または省略可能 Description
データベース名 必須 アクセスする MySQL データベース。
クエリ 必須 MySQL データベースに対して実行するクエリ。
リソース グループ 必須 Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。
サーバー名 必須 アクセスする MySQL サーバー。
ユーザー名 必須 MySQL サーバーにアクセスするユーザー名。

ツール注釈ヒント:

破壊的: ❌ |冪等: ✅ |オープンワールド: ❌ |読み取り専用: ✅ |シークレット: ❌ |ローカル必須: ❌

サーバー構成を取得する

このツールは、モデル コンテキスト プロトコル (MCP) ツールの一部です。 指定された Azure Database for MySQL フレキシブル サーバー インスタンスの包括的な構成の詳細を取得します。 このツールは、データベースの管理と最適化に役立つサーバー設定、パフォーマンス パラメーター、セキュリティ構成、および運用特性を返します。 出力は JSON であり、ServerName、Location、Version、SKU、StorageSizeGB、BackupRetentionDays、GeoRedundantBackup が含まれます。

プロンプトの例を次に示します。

  • "リソース グループ 'rg-prod' の MySQL サーバー 'mysql-prod' とユーザー 'dbadmin' の構成を表示します。"
パラメーター 必須または省略可能 Description
リソース グループ 必須 サーバーを含む Azure リソース グループの名前。
サーバー名 必須 Azure Database for MySQL フレキシブル サーバー インスタンスの名前。
ユーザー名 必須 サーバーに対して認証するユーザー名。

ツール注釈ヒント:

破壊的: ❌ | 冪等性: ✅ | オープンワールド: ❌ | 読み取り専用: ✅ | シークレット: ❌ | ローカル必須: ❌

サーバー パラメーターを取得する

このモデル コンテキスト プロトコル (MCP) ツールは、Azure Database for MySQL フレキシブル サーバー上の 1 つのサーバー構成パラメーターの現在の値を取得します。 このツールを使用して、 max_connectionswait_timeoutslow_query_logなどの設定を変更する前に調べます。 このツールには、サーバー パラメーターを読み取るために十分な特権を持つユーザー アカウントが必要です。

プロンプトの例を次に示します。

  • "ユーザー名 'dbadmin' の MySQL サーバー 'my-mysql-server' のリソース グループ 'rg-prod' のパラメーター 'connection_timeout' の値を表示してください。"
パラメーター 必須または省略可能 Description
Parameter 必須 アクセスする MySQL パラメーター。
リソース グループ 必須 Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。
サーバー名 必須 アクセスする MySQL サーバー。
ユーザー名 必須 MySQL サーバーにアクセスするユーザー名。

ツール注釈ヒント:

破壊的: ❌ |冪等性: ✅ |オープンワールド: ❌ |読み取り専用: ✅ |シークレット: ❌ |ローカル必須: ❌

サーバー パラメーターを更新する

このツールは、モデル コンテキスト プロトコル (MCP) の一部であり、Azure Database for MySQL サーバー上の単一の構成設定を更新します。 リソース グループ、サーバー名、ユーザー名、および設定する値を指定します。

プロンプトの例を次に示します。

  • "リソース グループ 'rg-prod' のサーバー名 'mysql-prod' でパラメーター 'connection_timeout' を値 '20' に設定し、ユーザー名 'dbadmin' を指定します。"
パラメーター 必須または省略可能 Description
Parameter 必須 アクセスする MySQL パラメーター。
リソース グループ 必須 Azure リソース グループの名前。 このリソース グループは、Azure リソースの論理コンテナーです。
サーバー名 必須 アクセスする MySQL サーバー。
ユーザー名 必須 MySQL サーバーにアクセスするユーザー名。
価値 必須 MySQL パラメーターに設定する値。

ツール注釈ヒント:

破壊的: ✅ |冪等: ✅ |オープンワールド: ❌ |読み取り専用: ❌ |シークレット: ❌ |ローカル必須: ❌

例示

  • ユーザー 'dbadmin' を使用して、リソース グループ 'prod-rg' のサーバー 'my-mysql-server' の autocommit を 'ON' に設定します。
  • ユーザー 'monitor' を使用して、リソース グループ 'analytics-rg' のサーバー 'analytics-db' の slow_query_log を 'ON' に設定します。
  • ユーザー 'dbadmin' を使用して、リソース グループ 'web-rg' のサーバー 'web-db-server' の max_connections を '200' に設定します。

テーブル スキーマを取得する

このモデル コンテキスト プロトコル (MCP) ツールは、Azure Database for MySQL フレキシブル サーバー インスタンス内の特定のテーブルの詳細なスキーマ情報を取得します。 列定義、データ型、制約、インデックス、リレーションシップなど、包括的なメタデータが返されます。 このメタデータは、テーブル構造を理解し、アプリケーション開発をサポートするのに役立ちます。

プロンプトの例を次に示します。

  • "リソース グループ 'rg-db-prod' 内のサーバー 'mysql-prod' のデータベース 'salesdb' のテーブル 'orders' のスキーマをユーザー 'dbadmin' として表示します。"
パラメーター 必須または省略可能 Description
データベース名 必須 アクセスする MySQL データベース。
リソース グループ 必須 サーバーを含む Azure リソース グループの名前。
サーバー名 必須 データベースをホストする MySQL サーバー。
テーブル名 必須 スキーマ情報を取得するためのテーブル。
ユーザー名 必須 MySQL サーバーに対して認証するユーザー名。

ツール注釈ヒント:

破壊的: ❌ |冪等: ✅ |オープンワールド: ❌ |読み取り専用: ✅ |シークレット: ❌ |ローカル必須: ❌