このドキュメントでは、Gemini CLI と MCP ツールボックスを使用してエージェント コンテキスト ファイルを作成する方法を説明します。自然言語から SQL クエリを生成する際に、これらのファイルに含まれるテンプレートとファセットからコンテキストが作成されます。さらに、DB コンテキスト拡充 MCP サーバーも使用します。
データ エージェントについては、データ エージェントの概要をご覧ください。エージェント コンテキスト ファイルをビルドする手順を大まかに説明すると次のようになります。
- 環境を準備する
- ターゲットを絞ったテンプレートを生成する
- ターゲットを絞ったファセットを生成する
- 省略可。バルク テンプレートを生成する
始める前に
エージェントを作成する前に、次の前提条件を満たす必要があります。
必要なサービスを有効にする
プロジェクトで次のサービスを有効にします。AlloyDB for PostgreSQL クラスタとインスタンスを準備する
既存の AlloyDB クラスタとインスタンスにアクセスできることを確認するか、新しいクラスタとインスタンスを作成します。必要なロールと権限
- データベース レベルで Identity and Access Management(IAM)ユーザーまたはサービス アカウントをクラスタに追加します。詳細については、データベース ユーザーを管理するをご覧ください。
- プロジェクト レベルで IAM ユーザーに
alloydb.databaseUserロールとserviceusage.serviceUsageConsumer権限を付与します。詳細については、プロジェクトの IAM ポリシー バインディングを追加するをご覧ください。
このチュートリアルの手順を行うには、Google Cloud にログインし、IAM 認証を使用してデータベースに対する認証を行います。
環境を準備する
エージェント コンテキスト ファイルは、任意のローカル開発環境または IDE から作成できます。環境を準備する手順は次のとおりです。
- Gemini CLI をインストールする
- MCP ツールボックスをインストールして設定する
- DB コンテキスト拡充 MCP サーバーをインストールして設定する
Gemini CLI をインストールする
Gemini CLI をインストールするには、Gemini CLI の使用を開始するをご覧ください。Gemini CLI は、必ず別個のディレクトリにインストールしてください。そのディレクトリを、MCP ツールボックスと DB コンテキスト拡充 MCP サーバーのインストールにも使用します。
MCP ツールボックスをインストールして設定する
Gemini CLI をインストールしたディレクトリに、MCP ツールボックス Gemini CLI 拡張機能をインストールします。
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolboxMCP ツールボックスをインストールしたディレクトリ内に
tools.yaml構成ファイルを作成して、データベース接続を構成します。sources: alloydb-pg-source: kind: alloydb-postgres project: PROJECT_ID region: REGION_ID cluster: CLUSTER_ID instance: INSTANCE_ID database: DATABASE_ID user: USER_NAME password: PASSWORD次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。REGION_ID: AlloyDB クラスタのリージョン(us-central1 など)。CLUSTER_ID: AlloyDB クラスタの ID。INSTANCE_ID: AlloyDB プライマリ インスタンスの ID。DATABASE_ID: 接続先のデータベースの名前。USER_NAME: データベース ユーザー。この値を設定する方法の詳細については、MCP ツールボックス内のソースをご覧ください。PASSWORD: データベース ユーザー用のパスワード。この値を設定する方法の詳細については、MCP ツールボックス内のソースをご覧ください。
詳細については、クイックスタート(AlloyDB を使用した MCP)をご覧ください。
tools.yamlファイルが正しく構成されていることを確認します。./toolbox --tools-file "tools.yaml"
DB コンテキスト拡充 MCP サーバーをインストールする
DB コンテキスト拡充 MCP サーバーにより、データベース スキーマから構造化された NL2SQL テンプレートを生成するためのインタラクティブなガイド付きワークフローが提供されます。このサーバーではデータベース接続に MCP ツールボックス拡張機能が使用されます。DB コンテキスト拡充 MCP サーバーをインストールする方法の詳細については、DB コンテキスト拡充 MCP サーバーをご覧ください。
DB コンテキスト拡充 MCP サーバーをインストールする手順は次のとおりです。
Gemini CLI をインストールしたディレクトリに、
pipを使用してuvPython パッケージ インストーラをインストールします。pip install uvpipがインストールされていない場合は、まずインストールします。DB コンテキスト拡充 MCP サーバーをインストールします。
gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichment
このサーバーでは生成に対応するために Gemini API が使用されます。したがって、API キーを環境変数としてエクスポートする必要があります。API キーを確認する方法の詳細については、Gemini API キーを使用するをご覧ください。
Gemini API キーをエクスポートします。
export GEMINI_API_KEY="YOUR_API_KEY"YOUR_API_KEY は、実際の Gemini API キーに置き換えます。
ターゲットを絞ったテンプレートを生成する
特定のクエリのペアをクエリ テンプレートとしてエージェント コンテキストに追加するには、/generate_targeted_templates コマンドを使用します。テンプレートの詳細については、データ エージェントの概要をご覧ください。
クエリ テンプレートをエージェント コンテキストに追加する手順は次のとおりです。
Gemini CLI をインストールしたディレクトリ内で Gemini を起動します。
geminiMCP ツールボックスとデータベース拡充拡張機能が使用可能な状態であることを確認します。
/mcp list/generate_targeted_templatesコマンドを実行します。/generate_targeted_templatesクエリ テンプレートに追加する自然言語によるクエリを入力します。
対応する SQL クエリをクエリ テンプレートに入力します。
生成されたクエリ テンプレートを確認します。クエリ テンプレートは、エージェント コンテキスト ファイルとして保存することも、既存のコンテキスト ファイルに追加することもできます。
my-cluster-psc-primary_postgres_templates_20251104111122.json と同様のエージェント コンテキスト ファイルが、コマンドを実行したディレクトリに保存されます。
コンテキスト ファイルとクエリ テンプレートの詳細については、エージェント コンテキストをご覧ください。
ターゲットを絞ったファセットを生成する
特定のクエリのペアをファセットとしてエージェント コンテキスト ファイルに追加するには、/generate_targeted_facets コマンドを使用します。ファセットの詳細については、データ エージェントの概要をご覧ください。
ファセットをエージェント コンテキストに追加する手順は次のとおりです。
/generate_targeted_facetsコマンドを実行します。/generate_targeted_facetsクエリ テンプレートに追加する自然言語によるクエリを入力します。
対応する SQL クエリをクエリ テンプレートに入力します。
生成されたファセットを確認します。ファセットは、エージェント コンテキスト ファイルとして保存することも、既存のコンテキスト ファイルに追加することもできます。
my-cluster-psc-primary_postgres_templates_20251104111122.json と同様のエージェント コンテキスト ファイルが、コマンドを実行したディレクトリに保存されます。
コンテキスト ファイルとファセットの詳細については、エージェント コンテキストをご覧ください。
省略可: バルク テンプレートを生成する
データベース スキーマとデータに基づいてエージェント コンテキスト ファイルを自動生成するには、/generate_bulk_templates コマンドを使用します。
バルク テンプレートを自動生成する手順は次のとおりです。
/generate_bulk_templatesコマンドを実行します。/generate_bulk_templatesデータベース スキーマに基づくテンプレート ベースの SQL 生成が行われる際は、データベース情報の確認とデータベース スキーマへのアクセス権限の付与に関連する一連の質問が表示されます。
生成されたクエリ テンプレートを確認します。テンプレートを承認することも、修正の必要があるクエリのペアを更新することもできます。
クエリ テンプレートに追加する自然言語によるクエリを入力します。
対応する SQL クエリをクエリ テンプレートに入力します。
生成されたクエリ テンプレートを確認します。クエリ テンプレートは、エージェント コンテキスト ファイルとして保存することも、既存のコンテキスト ファイルに追加することもできます。
クエリ テンプレートを承認したら、新しいテンプレート ファイルを作成するか、クエリのペアを既存のテンプレート ファイルに追加します。クエリ テンプレートは、ローカル ディレクトリに JSON ファイルとして保存されます。
my-cluster-psc-primary_postgres_templates_20251104111122.json と同様のエージェント コンテキスト ファイルが、コマンドを実行したディレクトリに保存されます。
エージェント コンテキスト ファイルの詳細については、エージェント コンテキストをご覧ください。
次のステップ
- データ エージェントの詳細を確認する。
- AlloyDB Studio でデータ エージェントを作成または削除する方法を確認する。
- データ エージェントを検査して呼び出す方法を確認する。