Model Context Protocol(MCP)サーバーは、大規模言語モデル(LLM)または AI アプリケーションにコンテキスト、データ、機能を提供する外部サービスとの間のプロキシとして機能します。MCP サーバーは、AI アプリケーションをデータベースやウェブサービスなどの外部システムに接続し、そのレスポンスを AI アプリケーションが理解できる形式に変換します。
サーバーの設定
使用する前に、MCP サーバーを有効にして認証を設定する必要があります。Google と Google Cloud のリモート MCP サーバーの使用方法については、Google Cloud MCP サーバーの概要をご覧ください。
MCP 用 Cloud SQL Admin API
サーバー エンドポイント
MCP サービス エンドポイントは、安全で標準化された接続を確立するために AI アプリケーション(MCP クライアントのホスト)が使用する MCP サーバーのネットワーク アドレスと通信インターフェース(通常は URL)です。これは、LLM がコンテキストをリクエストしたり、ツールを呼び出したり、リソースにアクセスしたりするための接続ポイントとなります。Google MCP エンドポイントをグローバルまたはリージョンにすることができます。
cloud-sql MCP サーバーには、次の MCP エンドポイントがあります。
- https://sqladmin.googleapis.com/mcp
MCP ツール
MCP ツールは、現実世界でアクションを実行する目的で MCP サーバーが LLM または AI アプリケーションに対して公開する関数または実行可能な機能です。
cloud-sql MCP サーバーには次のツールがあります。
| MCP ツール | |
|---|---|
| list_instances | プロジェクト内のすべての Cloud SQL インスタンスを一覧表示します。 |
| get_instance | Cloud SQL インスタンスの詳細を取得します。 |
| create_instance |
Cloud SQL インスタンスの作成を開始します。
特に指定しない限り、新しく作成されたインスタンスは開発環境のデフォルトのインスタンス構成を使用します。 開発環境のインスタンスのデフォルト構成は次のとおりです。 本番環境のインスタンスには、次の構成をおすすめします。 SQL Server には次のインスタンス構成が推奨されます。 |
| execute_sql |
Cloud SQL インスタンスで、データ定義言語(DDL)、データ制御言語(DCL)、データクエリ言語(DQL)、データ操作言語(DML)のステートメントなど、有効な SQL ステートメントを実行します。
「IAM 認証がインスタンスで有効になっていません」のようなエラーが表示された場合は、 「The instance doesn't allow using executeSql to access this instance」などのエラーが表示された場合は、 認証エラーが発生した場合:
|
| get_operation | 長時間実行オペレーションのステータスを取得します。長時間実行オペレーションは、完了するまでに数分かかることがあります。オペレーションに時間がかかる場合は、コマンドライン ツールを使用して 30 秒間一時停止してから、オペレーションのステータスを再度確認します。 |
| create_user |
Cloud SQL インスタンスのデータベース ユーザーを作成します。
PostgreSQL で IAM ユーザーを作成するには:
IAM ユーザー用に作成されたデータベース ユーザー名は PostgreSQL で IAM サービス アカウントを作成するには:
IAM サービス アカウント用に作成されたデータベース ユーザー名は MySQL で IAM ユーザーまたは IAM サービス アカウントを作成するには:
IAM ユーザー用に作成されたデータベース ユーザー名は
IAM サービス アカウント用に作成されたデータベース ユーザー名は |
| update_user |
Cloud SQL インスタンスのデータベース ユーザーを更新します。 このツールは、ユーザーを更新してデータベース ロールを割り当てる場合にのみ使用できます。
ユーザーロールの更新に関する主なパラメータは次のとおりです。
ロールの更新の仕組み:
例:
|
| clone_instance |
Cloud SQL インスタンスを、ソース インスタンスのクローンとして作成します。
|
| update_instance |
Cloud SQL インスタンスの構成設定を部分的に更新します。
|
| list_users | Cloud SQL インスタンスのすべてのデータベース ユーザーを一覧表示します。 |
| import_data |
Cloud SQL インスタンスにデータをインポートします。 ファイルが ファイルを Cloud Storage にアップロードする前に、既存のバケットを使用するか、指定されたプロジェクトに新しいバケットを作成するかを検討してください。 ファイルが Cloud Storage にアップロードされた後、インスタンス サービス アカウントには、Cloud Storage バケットからアップロードされたファイルを読み取るための十分な権限が必要です。 これは、次のようにして実現できます。
権限が付与されたら、データをインポートできます。オプション パラメータは空のままにして、システムのデフォルトを使用することをおすすめします。通常、ファイルの種類はファイル拡張子で判断できます。たとえば、ファイルが SQL ファイルの場合は MySQL の SQL MySQL には PostgreSQL の場合、
|
MCP ツールの仕様を取得する
MCP サーバー内のすべてのツールの MCP ツール仕様を取得するには、tools/list メソッドを使用します。次の例は、curl を使用して、MCP サーバー内で現在使用可能なすべてのツールとその仕様を一覧表示する方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://sqladmin.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |