AlloyDB Omni を MCP、Gemini CLI、その他のエージェントで使用する

このドキュメントでは、Model Context Protocol(MCP)をサポートするさまざまなエージェントに AlloyDB Omni インスタンスを接続する方法について説明します。

AlloyDB Omni は PostgreSQL と互換性があるため、PostgreSQL 用に設計されているツールや拡張機能を使用できます。

最も簡単に設定を行うには、Gemini CLI 専用の PostgreSQL 拡張機能を使用します。この拡張機能は、基盤となる MCP サーバーを直接統合するため、個別のサーバー設定を行う必要はありません。Gemini CLI を使用するように Gemini Code Assist を設定すると、IDE でも同様の設定上のメリットを得られます。

また、MCP をサポートする他の IDE やエージェントは、データベース向け MCP ツールボックスを介して接続できます。このツールボックスは、AI エージェントをデータに接続するように設計されたオープンソースの MCP サーバーです。認証や接続プーリングなどのタスクを処理し、IDE から自然言語でデータを直接操作できます。

始める前に

AlloyDB Omni インスタンスに接続する前に、次の操作を行います。

  1. AlloyDB Omni for Kubernetes またはコンテナ用 AlloyDB Omni をインストールし、データベース インスタンスを実行します。
  2. データベース ユーザーを作成または再利用します。ユーザー名とパスワードを入力できるよう準備します。

PostgreSQL 用 Gemini CLI 拡張機能を使用する

Gemini CLI は、開発ワークフローを効率化するように設計されたオープンソースの AI エージェントであり、コーディング、デバッグ、データ探索、コンテンツ作成を支援します。データクラウド サービスや一般的なオープンソース データベースを操作できるエージェント インターフェースを提供することを目的としています。

AlloyDB Omni 用 Gemini CLI との統合は、PostgreSQL 拡張機能を介して行われます。この拡張機能は、PostgreSQL と AlloyDB Omni を操作するための一連のツールを提供します。これにより、自然言語プロンプトを使用して Gemini CLI からデータベースの管理、クエリの実行、スキーマの確認を直接行うことができます。

以下の例では、次のテーブルを含むサンプル ecommerce データベースを使用します。

  • products: product_idproduct_namecategoryprice などの商品情報を含みます。
  • customers: customer_idfirst_namelast_nameemail などの顧客データを保存します。
  • orders: order_idcustomer_idorder_date などの注文情報を含みます。

PostgreSQL 拡張機能では、次のツールを使用できます。

カテゴリ ツール 自然言語プロンプトの例
データベース オペレーション execute_sql 「ノートパソコン」カテゴリで最も高額な商品を 10 個表示して。
get_query_plan 過去 6 か月間に注文がなかった顧客をすべて検索するクエリのクエリプランについて説明して。
list_active_queries データベースで実行されているクエリを教えて。
database_overview 現在のデータベースの概要を教えて。
list_tables 現在のデータベース内のすべてのテーブルを表示して。
list_views 利用できるビューを教えて。
list_schemas すべてのスキーマを一覧表示して。
list_triggers orders テーブルのトリガーを表示して。
list_available_extensions インストールできる拡張機能を教えて。
list_installed_extensions インストールされているすべての拡張機能を一覧表示して。
list_indexes すべてのインデックスを一覧表示して。
list_sequences すべてのシーケンスを一覧表示して。
データベースの健全性とメンテナンス list_autovacuum_configurations 現在の autovacuum 構成を表示して。
list_memory_configurations 現在のメモリ構成を教えて。
list_top_bloated_tables 特に肥大化しているテーブルの上位 5 つを一覧表示して。
list_replication_slots アクティブなレプリケーション スロットをすべて表示して。
list_invalid_indexes ecommerce データベースに無効なインデックスがないか確認して。
long_running_transactions 実行時間の長いトランザクションを表示して。
list_locks すべてのロックを一覧表示して。
replication_stats レプリケーションの統計情報を表示して。

PostgreSQL 用 Gemini CLI 拡張機能は、次の 2 つの方法で使用できます。

  • スタンドアロンのコマンドライン ツール
  • Gemini Code Assist を使用して IDE に統合する

Gemini CLI

  1. Gemini CLI(バージョン 0.6.0 以降)をインストールします。
  2. 次のコマンドを使用して、GitHub リポジトリから Gemini CLI 用の PostgreSQL 拡張機能をインストールします。
    gemini extensions install https://github.com/gemini-cli-extensions/postgres
  3. AlloyDB Omni インスタンスに接続するための環境変数を設定します。
    export POSTGRES_HOST="DATABASE_HOST"
    export POSTGRES_PORT="DATABASE_PORT"
    export POSTGRES_DATABASE="DATABASE_NAME"
    export POSTGRES_USER="DATABASE_USER"
    export POSTGRES_PASSWORD="DATABASE_PASSWORD"
    

    これらの変数は、作業ディレクトリの .env ファイルから読み込むこともできます。

  4. インタラクティブ モードで Gemini CLI を起動します。
    gemini
    CLI は、PostgreSQL 拡張機能とそのツールを自動的に読み込みます。これらのツールを使用して、データベースを操作できます。

Gemini Code Assist

MCP サーバーを手動で構成しない場合には、Gemini CLI を使用するように Gemini Code Assist を構成します。

  1. [Gemini CLI] タブの説明に沿って、Gemini CLIpostgres拡張機能をインストールして構成します。
  2. Gemini CLI を使用するように Gemini Code Assist を構成します。
  3. Gemini Code Assist チャット内で自然言語を直接使用して、AlloyDB Omni インスタンスとのやり取りを開始します。

データベース向け MCP ツールボックスを使用して他の IDE に接続する

このセクションでは、データベース向け MCP ツールボックスを使用して、さまざまなエージェントから AlloyDB Omni インスタンスに接続する方法について説明します。

データベース向け MCP ツールボックスをインストールする

IDE を AlloyDB Omni に接続するには、データベース向け MCP ツールボックスをインストールする必要があります。これは、AI エージェントをデータに接続するオープンソース サーバーです。

  1. ツールボックスの最新バージョンをバイナリとしてダウンロードします。オペレーティング システム(OS)と CPU アーキテクチャに対応するバイナリを選択します。

    linux/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/linux/amd64/toolbox

    darwin/arm64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/arm64/toolbox

    darwin/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/amd64/toolbox

    windows/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/windows/amd64/toolbox.exe
  2. バイナリを実行可能にします。

    chmod +x toolbox
    
  3. インストールを確認します。

    ./toolbox --version
    

クライアントを設定する

次のオプションからエージェント ツールを選択します。

Cursor

  1. プロジェクトのルートに .cursor ディレクトリが存在しない場合は作成します。
  2. .cursor/mcp.json ファイルが存在しない場合は作成したうえで、それを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Cursor を開き、[Settings] > [Cursor Settings] > [MCP] に移動します。サーバーが接続されると、緑色のアクティブ ステータスが表示されます。

Windsurf

  1. Windsurf を開き、Cascade アシスタントに移動します。
  2. MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

Visual Studio Code(Copilot)

  1. VS Code を開き、プロジェクトのルートに .vscode ディレクトリが存在しない場合は作成します。
  2. .vscode/mcp.json ファイルが存在しない場合は作成したうえで、それを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "servers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

Cline

  1. VS Code で Cline 拡張機能を開き、[MCP Servers] アイコンをクリックします。
  2. [Configure MCP Servers] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
      
  1. サーバーが正常に接続されると、緑色のアクティブ ステータスが表示されます。

Claude Desktop

  1. Claude Desktop を開き、[Settings] に移動します。
  2. [Developer] タブで [Edit Config] をクリックして、構成ファイルを開きます。
  3. 構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Claude Desktop を再起動します。
  2. 新しいチャット画面に、新しい MCP サーバーのハンマー(MCP)アイコンが表示されます。

Claude Code

  1. Claude Code をインストールします。
  2. プロジェクトのルートに .mcp.json ファイルが存在しない場合は作成します。
  3. 構成を追加し、環境変数を実際の値に置き換えて保存します。
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Claude Code を再起動して、新しい構成を適用します。