· 14分で読める

BigQueryをAIエージェントに接続する|Claude Code・Codex・Gemini CLIで広告データを日本語で分析する

目次閉じる開く

AIエージェントとBigQueryを接続すると何ができるか

Claude CodeやCodex CLIのようなAIエージェントをBigQueryに接続すると、日本語の質問だけで広告データを分析できるようになります。「先月の媒体別のCPAを出して」と入力すれば、エージェントがSQLを書き、実行し、結果を日本語で要約して返します。SQLを書く役割をAIに任せ、人間は問いを立てることと結果の妥当性判断に集中する分担です。

日本語の質問がBigQueryのデータ分析になるまで運用者問いを立てるAIエージェントSQLを生成・解釈MCP Toolbox接続の窓口BigQuery広告データ日本語で質問SQLを実行データ取得結果は日本語の要約とともに返ってくる

この構成が活きるのは、複数媒体の広告データをBigQueryに集約している場合です。Google広告、Meta広告、Yahoo!広告のデータが1か所にあれば、媒体をまたいだ質問に一度で答えられます。管理画面を行き来して数字を転記する業務が、対話で完結するようになります。

筆者もAIエージェント経由でBigQueryの広告データを日常的に分析しています。定型レポートはスケジュールクエリで自動化しつつ、「なぜ先週CPAが上がったのか」のような探索的な深掘りはエージェントとの対話で行う、という使い分けが実務では有効でした。

まだ広告データをBigQueryに集約していない場合は、先にBigQueryで広告データを集約する方法をご覧ください。

MCPとは何か

MCP(Model Context Protocol)は、AIエージェントと外部ツールをつなぐための共通規格です。2024年11月にAnthropicが公開し、その後OpenAIやGoogleのエージェント製品も対応しました。MCPに対応したツールであれば、どのエージェントからも同じ仕組みで接続できます。

MCPは「AIエージェントとツールの共通規格」Claude CodeCodex CLIGemini CLIMCP(共通の接続規格)BigQuery広告データスプレッドシートMCPサーバー経由SlackなどMCPサーバー経由対応ツールなら、どのエージェントからも同じ仕組みで接続できる

BigQueryをMCP経由で公開する窓口となるのが、Google製のオープンソース「MCP Toolbox for Databases」です。この記事では、Toolboxの事前構成済み設定(prebuilt)を使い、最短の手順でBigQueryを接続します。SQLを1行も書かずにセットアップが完了する構成です。

なお、この記事で扱うのは「エージェントにBigQueryを分析させる」接続です。生成AIの広告運用への活用全般は生成AIを広告運用に活かすで整理しています。

前提条件を確認する

セットアップの前に、次の4点が揃っているかを確認してください。

前提条件確認方法未対応の場合
BigQueryに広告データがあるコンソールでデータセットを確認広告データの集約方法を参照
gcloud CLIが使えるgcloud --versiongcloud CLIのセットアップを参照
BigQueryの閲覧・実行権限があるコンソールでクエリを1本実行管理者にIAMロールの付与を依頼
AIエージェントを導入済みclaude --version など各公式ドキュメントの手順で導入

必要なIAMロールは、公式ドキュメントでは roles/bigquery.user(クエリ実行)と roles/bigquery.dataViewer(データ閲覧)が案内されています。書き込み系のロールは、この用途では付与しないことを推奨します。理由は後述の安全設定のセクションで説明します。

認証はApplication Default Credentials(ADC)を使います。未設定の場合は、次のコマンドを実行してブラウザでログインしてください。

gcloud auth application-default login

MCP Toolboxをセットアップする

セットアップの全体像は次の4ステップです。

セットアップの4ステップSTEP 1Toolboxを入手STEP 2ADCで認証STEP 3エージェントに登録STEP 4日本語で質問

Toolboxのインストール

MCP Toolboxは実行ファイル1つで動作します。OSごとのダウンロード方法は次のとおりです。バージョンは執筆時点の最新であるv1.7.0を例にしています。導入時はリリースページで最新バージョンを確認してください。

Windowsの場合(PowerShell):

curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v1.7.0/windows/amd64/toolbox.exe"

Macの場合(Homebrew):

brew install mcp-toolbox

インストール後、バージョンが表示されれば準備完了です。

toolbox --version

補足 MCP Toolboxは以前「genai-toolbox」という名前で公開されていました。GitHubリポジトリ名はgoogleapis/mcp-toolboxに変更されています。古い解説記事では旧名で紹介されていることがあるため、参照時は注意してください。

prebuilt設定で使えるツール

Toolboxを --prebuilt bigquery オプション付きで起動すると、BigQuery用のツール一式が自動で登録されます。設定ファイルを書く必要はありません。エージェントから利用できる主なツールは次のとおりです。

ツール名できること
execute_sqlSQLの実行
list_dataset_ids / list_table_idsデータセット・テーブルの一覧取得
get_dataset_info / get_table_infoスキーマなどのメタデータ取得
search_catalog自然言語でのテーブル検索
ask_data_insights自然言語でのデータ質問応答
forecast時系列予測
analyze_contribution変化の寄与度分析

実務で中心になるのは execute_sql とメタデータ取得系です。エージェントはまずテーブル構造を調べ、それを踏まえてSQLを組み立てる、という手順を自律的に踏みます。人間がスキーマを説明しなくても分析が始められるのは、この仕組みのおかげです。

各AIエージェントに登録する

Toolboxを各エージェントにMCPサーバーとして登録します。3ツールの概要を比較したうえで、それぞれの手順を説明します。

Claude CodeCodex CLIGemini CLI
提供元AnthropicOpenAIGoogle
登録方法claude mcp addcodex mcp add設定ファイル or gemini mcp add
登録確認claude mcp listcodex mcp listgemini mcp list
利用条件Claude Pro以上 or API課金ChatGPT Plus以上を推奨 or API課金無料枠あり(個人Googleアカウント)

以下のコマンド例では、Toolboxのパスを /path/to/toolbox と表記しています。Windowsの場合は C:\tools\toolbox.exe のような実際の配置場所に読み替えてください。your-project-id はBigQueryのプロジェクトIDに置き換えます。

Claude Codeへの登録

claude mcp add bigquery --env BIGQUERY_PROJECT=your-project-id -- /path/to/toolbox --prebuilt bigquery --stdio

-- の前がClaude Code側のオプション、後ろがToolboxの起動コマンドという構造です。登録スコープは既定で現在のプロジェクトのみに適用されます。どのフォルダからでも使いたい場合は --scope user を付けてください。

登録できたかは一覧コマンドで確認します。

claude mcp list

チームで設定を共有したい場合は、プロジェクト直下の .mcp.json に次の内容を置く方法もあります。この形式はGoogle Cloudの公式ドキュメントでも案内されています。

{
  "mcpServers": {
    "bigquery": {
      "command": "/path/to/toolbox",
      "args": ["--prebuilt", "bigquery", "--stdio"],
      "env": {
        "BIGQUERY_PROJECT": "your-project-id"
      }
    }
  }
}

Codex CLIへの登録

codex mcp add bigquery --env BIGQUERY_PROJECT=your-project-id -- /path/to/toolbox --prebuilt bigquery --stdio

設定は ~/.codex/config.toml に書き込まれます。設定ファイルを直接編集する方法もありますが、記法の誤りを避けるためコマンド経由での登録をおすすめします。確認は次のコマンドです。

codex mcp list

Gemini CLIへの登録

Gemini CLIは ~/.gemini/settings.json に次の設定を追記します。

{
  "mcpServers": {
    "bigquery": {
      "command": "/path/to/toolbox",
      "args": ["--prebuilt", "bigquery", "--stdio"],
      "env": {
        "BIGQUERY_PROJECT": "your-project-id"
      }
    }
  }
}

登録状態と接続状況は一覧コマンドで確認できます。

gemini mcp list

Gemini CLIは個人のGoogleアカウントで1日1,000リクエストまでの無料枠があります。まず費用をかけずに試したい場合の選択肢として有力です。

日本語で広告データを分析する

登録が済んだら、エージェントを起動して日本語で質問するだけです。初回はエージェントがMCPツールの使用許可を求めてくるので、内容を確認して承認します。広告運用の実務でよく使う質問の例を挙げます。

分析の目的質問の例
定例の集計「先月の媒体別の費用・CV・CPAをまとめて」
異変の検知「直近7日で費用が前週比20%以上増えたキャンペーンは?」
媒体横断の比較「Google広告とMeta広告をキャンペーン単位でCPA順に並べて」
傾向の把握「直近28日のCVを曜日×時間帯で集計して傾向を教えて」
深掘り「先週CPAが悪化した原因をデータから考察して」

うまく使うためのポイントは3つあります。第一に、期間・媒体・指標の定義を質問に含めることです。「最近の調子は?」より「直近28日のCPA推移は?」のほうが、意図どおりのSQLになります。

第二に、最初の数回は生成されたSQLに目を通すことです。特にコンバージョン列の選び方や重複排除の扱いは、テーブル設計によって正解が変わります。一度正しいクエリ方針を対話で確立すれば、以降はその文脈を引き継いで安定します。

第三に、返ってきた数値を管理画面と突き合わせて検証することです。AIが生成するSQLは誤ることがあり、それらしい集計結果でも定義がずれている場合があります。重要な報告に使う数値は、必ず別の手段で確認してください。この検証プロセスを一度通しておくと、日常の分析は安心して任せられるようになります。

SQLそのものを学びたい場合はBigQueryで広告データを分析するSQL実践が役立ちます。エージェントが書いたSQLを読み解く力は、結果の検証にも直結します。

安全に運用するための設定

エージェントにデータベースへの接続を渡す以上、誤操作と情報の扱いへの備えは必須です。導入時に次のチェックリストを確認してください。

項目対応方法
書き込みを防ぐ(IAM)接続に使うアカウントへ書き込み系ロールを付与しない
書き込みを防ぐ(Toolbox側)tools.yamlwriteMode: "blocked" でSELECT以外を拒否
参照範囲を絞る分析用データセットのみに権限を付与する
クエリ費用の上限Toolboxの maximumBytesBilled で1クエリの課金上限を設定
データの外部送信社内・クライアントのAI利用ポリシーを事前に確認する

最も確実なのはIAMでの制御です。閲覧と実行の権限だけを持つ状態であれば、エージェントがどんなSQLを生成しても、データの書き換えはBigQuery側で拒否されます。prebuilt設定の execute_sql は既定で更新系のSQLも実行できるため、この一手間を省かないでください。

Toolbox側でも、設定ファイル(tools.yaml)でカスタム構成にすれば writeMode: "blocked" という制御が用意されています。公式ドキュメントに記載のある機能ですが、導入時には削除系のSQLが実際に拒否されることをテスト用データセットで確認しておくと安心です。

費用面では、エージェントが試行錯誤の過程で複数のクエリを実行する点に注意が必要です。オンデマンド課金ではスキャンしたデータ量に応じて費用が発生します。日付パーティションのあるテーブルでは「期間を絞ってクエリする」ことを質問文やエージェントへの指示に含めると、スキャン量を抑えられます。

また、エージェントはクエリ結果をLLMに送信して解釈します。クライアントのデータを扱う場合は、この送信が契約やポリシー上問題ないかを必ず事前に確認してください。判断に迷う場合は、集計済みで個人情報を含まないビューだけを参照させる構成が安全です。

マネージド版「BigQuery MCPサーバー」という選択肢

ここまで紹介した自己ホスト型のToolboxとは別に、Googleはマネージド型の「BigQuery MCPサーバー」の提供を始めています。自分でToolboxを起動する代わりに、Googleがホストするエンドポイント(https://bigquery.googleapis.com/mcp)へ直接接続する方式です。

MCP Toolbox(自己ホスト型)BigQuery MCPサーバー(マネージド型)
導入実行ファイルを配置して起動BigQuery APIの有効化のみ
認証ADCOAuth 2.0 + IAM
読み取り専用の手段IAM / writeMode 設定execute_sql_readonly ツール
制限設定次第クエリ3分・結果3,000行の上限あり
追加料金なし(BigQueryクエリ料金のみ)なし(BigQueryクエリ料金のみ)

マネージド型はセットアップの手間が小さく、読み取り専用のツールが最初から分かれている点が魅力です。一方で提供が始まって間もない機能のため、エージェント側の対応状況や接続手順は変化しています。採用する場合は公式ドキュメントで最新の状況を確認してください。

現時点では、3つのエージェントで同じ手順が使え、動作の情報も蓄積されている自己ホスト型から始めるのが手堅い選択だと考えています。マネージド型は運用が安定してからの移行先として押さえておけば十分です。

まとめ

AIエージェントとBigQueryのMCP接続について、セットアップから安全な運用までを整理しました。

ステップ内容
前提広告データのBigQuery集約、gcloud CLI、ADC認証
導入MCP Toolboxを配置し --prebuilt bigquery で起動
登録claude mcp add / codex mcp add / settings.json
活用期間・指標を明示した日本語の質問で分析
安全読み取り専用の権限、費用上限、ポリシー確認

この構成の価値は、分析の入口が「SQLを書ける人」から「問いを立てられる人」に広がることです。一方で、結果の妥当性を判断する広告指標の理解は、これまで以上に重要になります。まずは読み取り専用の権限で接続し、管理画面との突き合わせで精度を確かめるところから始めてみてください。

関連記事

この記事をAIと深掘りする

要約・疑問の解消に。記事のタイトル・URL・参照元を入れた質問文が自動で入力されます。

| 共有 はてブ

SIGNALZ メルマガ

厳選した実践ナレッジを週1回お届けします。

SIGNALZ

SIGNALZ

運用型広告の実務経験をもとに、体系的なナレッジを発信しています。

SIGNALZの記事はAIを活用して作成し、10年以上の運用型広告の実務経験をもとに内容を確認・監修しています。制作方針の詳細はサイトについてをご覧ください。

この記事について感想やご質問を送れます

誤りの指摘、補足情報、ご質問など、お気軽にどうぞ。