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 クエリを実行します。 このツールを使用して、テーブル データを変更せずに取得または検査します。 このツールは、SELECT、INSERT、UPDATE、DELETE、REPLACE、MERGE、TRUNCATE、ALTER、CREATEなどの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_connections、 wait_timeout、 slow_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 サーバーに対して認証するユーザー名。 |
破壊的: ❌ |冪等: ✅ |オープンワールド: ❌ |読み取り専用: ✅ |シークレット: ❌ |ローカル必須: ❌