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

このガイドでは、データベース向け MCP ツールボックスを使用して、BigQuery プロジェクトをさまざまな統合開発環境(IDE)とデベロッパー ツールに接続する方法について説明します。Model Context Protocol(MCP)を使用します。これは、大規模言語モデル(LLM)を BigQuery などのデータソースに接続するためのオープン プロトコルであり、SQL クエリを実行して、既存のツールからプロジェクトを直接操作できます。

Gemini CLI を使用する場合は、BigQuery 拡張機能を使用できます。詳細については、Gemini CLI を使用して開発するをご覧ください。Gemini CLI 用のカスタムツールを構築する場合は、読み進めてください。

このガイドでは、次の IDE の接続プロセスについて説明します。

  • Cursor
  • Windsurf(旧 Codeium)
  • Visual Studio Code(Copilot)
  • Cline(VS Code 拡張機能)
  • Claude Desktop
  • Claude Code

始める前に

  1. Google Cloud コンソールのプロジェクト セレクタページで、 Google Cloud プロジェクトを選択または作成します。

  2. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

  3. Google Cloud プロジェクトで BigQuery API を有効にします

  4. このタスクを完了するために必要なロールと権限を構成します。プロジェクトに接続するには、BigQuery ユーザーロール(roles/bigquery.user)、BigQuery データ閲覧者ロール(roles/bigquery.dataViewer)、または同等の IAM 権限が必要です。

  5. 使用する環境のアプリケーションのデフォルト認証情報(ADC)を構成します。

MCP ツールボックスをインストールする

BigQuery Gemini CLI 拡張機能のみを使用する場合は、必要なサーバー機能がバンドルされているため、MCP Toolbox をインストールする必要はありません。他の IDE とツールについては、このセクションの手順に沿って MCP ツールボックスをインストールします。

このツールボックスは、IDE と BigQuery の間に配置されるオープンソースの Model Context Protocol(MCP)サーバーとして機能し、AI ツール用の安全で効率的なコントロール プレーンを提供します。

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

    linux/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/VERSION/linux/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v0.7.0 など)に置き換えます。

    macOS darwin/arm64

    curl -O https://storage.googleapis.com/genai-toolbox/VERSION/darwin/arm64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v0.7.0 など)に置き換えます。

    macOS darwin/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/VERSION/darwin/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v0.7.0 など)に置き換えます。

    windows/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/VERSION/windows/amd64/toolbox
    

    VERSION は、MCP ツールボックスのバージョン(v0.7.0 など)に置き換えます。

  2. バイナリを実行可能にします。

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

    ./toolbox --version
    

クライアントと接続を設定する

このセクションでは、BigQuery をツールに接続する方法について説明します。

スタンドアロンの Gemini CLI を使用している場合、拡張機能に必要なサーバー機能がバンドルされているため、MCP Toolbox をインストールまたは構成する必要はありません。

他の MCP 互換ツールや IDE の場合は、まず MCP Toolbox をインストールする必要があります。

Claude Code

  1. Claude Code をインストールします。
  2. .mcp.json ファイルが存在しない場合は、プロジェクトのルートに作成します。
  3. 構成を追加し、環境変数を実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "bigquery": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","bigquery","--stdio"],
                  "env": {
                    "BIGQUERY_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
  4. Claude Code を再起動して、新しい設定を読み込みます。ツールが再度開くと、構成された MCP サーバーが検出されたことを示すメッセージが表示されます。

Claude Desktop

  1. Claude Desktop を開き、[設定] に移動します。
  2. [デベロッパー] タブで [構成を編集] をクリックして、構成ファイルを開きます。
  3. 構成を追加し、環境変数を実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "bigquery": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","bigquery","--stdio"],
                  "env": {
                    "BIGQUERY_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
  4. Claude Desktop を再起動します。
  5. 新しいチャット画面に、新しい MCP サーバーのハンマー(MCP)アイコンが表示されます。

Cline

  1. VS Code で Cline 拡張機能を開き、[MCP Servers] アイコンをタップします。
  2. [Configure MCP Servers] をタップして構成ファイルを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "bigquery": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","bigquery","--stdio"],
                  "env": {
                    "BIGQUERY_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            

サーバーが正常に接続されると、緑色のアクティブ ステータスが表示されます。

Cursor

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

Visual Studio Code(Copilot)

  1. VS Code を開き、プロジェクトのルートに .vscode ディレクトリが存在しない場合は作成します。
  2. .vscode/mcp.json ファイルが存在しない場合は作成し、開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
            {
              "servers": {
                "bigquery": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","bigquery","--stdio"],
                  "env": {
                    "BIGQUERY_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
  4. VS Code ウィンドウを再読み込みします。MCP 互換の拡張機能は、構成を自動的に検出し、サーバーを起動します。

Windsurf

  1. Windsurf を開き、Cascade アシスタントに移動します。
  2. MCP アイコンをクリックし、[Configure] をクリックして構成ファイルを開きます。
  3. 次の構成を追加し、環境変数を実際の値に置き換えて保存します。
            {
              "mcpServers": {
                "bigquery": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","bigquery","--stdio"],
                  "env": {
                    "BIGQUERY_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            

注: BIGQUERY_PROJECT 環境変数には、MCP Toolbox が使用するデフォルトの Google Cloud プロジェクト ID を指定します。クエリの実行など、すべての BigQuery オペレーションはこのプロジェクト内で実行されます。

ツールを使用する

AI ツールが MCP を使用して BigQuery に接続されました。AI アシスタントにテーブルのリスト表示、テーブルの作成、他の SQL ステートメントの定義と実行を依頼してみてください。

次のツールで LLM を使用できます。

  • analyze_contribution: 貢献度分析(主要因分析)を実行します。
  • ask_data_insights: データ分析の実行、分析情報の取得、BigQuery テーブルの内容に関する複雑な質問への回答を行います。
  • execute_sql: SQL ステートメントを実行します。
  • forecast: 時系列データを予測します。
  • get_dataset_info: データセットのメタデータを取得します。
  • get_table_info: テーブルのメタデータを取得します。
  • list_dataset_ids: データセットを一覧表示します。
  • list_table_ids: テーブルを一覧表示します。
  • search_catalog: 自然言語を使用してテーブルを検索します。