BigQuery × MCPで自然言語データ分析を実現する方法

BigQuery × MCPで自然言語データ分析を実現する方法

BigQueryにデータはあるのに、SQLを書けるメンバーが限られていて分析のボトルネックになっている。そんな課題を解消するのが、MCP(Model Context Protocol)を使ったBigQuery連携です。

MCPサーバーを介することで、ClaudeやGemini CLIなどのMCP対応ツールから自然言語でBigQueryを操作できるようになります。

本記事では、構築方式の比較からセットアップ手順、実務での活用事例までをまとめました。

BigQueryをMCPで操作する仕組み

BigQueryに蓄積されたデータを、SQLを書かずに自然言語で分析できる仕組みがBigQuery MCPサーバーです。ここではその土台となるMCPの基本概念と、BigQuery MCPサーバーが実際にどのように動作するかを解説します。

MCP(Model Context Protocol)の基本概念

MCP(Model Context Protocol)は、Anthropic社が提唱した、LLMやAIエージェントが外部のツールやデータベースと対話するための共通規格(プロトコル)です。よく「AIにとってのUSB-C」と例えられます。USB-Cがどんな機器でも同じ端子でつながるように、MCPに対応したクライアント(ClaudeやGemini CLIなど)であれば、同じ手順で様々なデータソースに接続可能です。

なお、MCPの仕組みや導入メリットは以下の記事にて詳しく解説しています。ご興味のある方はぜひご一読ください。

▼合わせて読みたい
MCPとは?AIの「連携コスト」を削減する新標準。仕組みやメリットを解説

BigQuery MCPサーバーの役割と仕組み

BigQueryは、Google Cloudが提供するフルマネージド型クラウドデータウェアハウスです。BigQuery MCPサーバーは、MCPの仕組みを使ってLLMとこのBigQueryをつなぐ中間レイヤーとして機能します。処理の流れは以下の通りです。

  1. ユーザーがMCPクライアント上で自然言語で質問する(例:「先月の売上トップ10の商品は?」)
  2. LLMがMCPサーバーを通じてBigQueryのスキーマ情報を取得する
  3. LLMがスキーマをもとにSQLを生成し、MCPサーバー経由でBigQueryに実行する
  4. 実行結果がMCPサーバーを通じてLLMに返り、ユーザーに自然言語で回答される

ユーザーはSQLを書く必要がなく、AIが裏側でスキーマの確認からクエリ実行までを一貫して処理します。なお「BigQuery MCP」は正式なサービス名ではなく、BigQueryとMCPの連携を指す通称として広く使われている表現です。

BigQuery MCPサーバーの構築方式4選を比較

BigQueryをMCPで操作するためのサーバーには、大きく4つの構築方式があります。それぞれ管理負荷やカスタマイズ性が異なるため、チームの技術力や要件に合った方式を選ぶことが重要です。

Google Managed MCP Toolbox コミュニティOSS ノーコード型
提供元 Google Cloud公式 Google(OSS) サードパーティ Skyvia等
実行環境 Google Cloudインフラ ローカル / 自社サーバー ローカル / 自社サーバー クラウド(SaaS)
セットアップ難易度 中〜高
カスタマイズ性
向いている用途 まず試したい / 公式サポート重視 複数DBを統合管理したい 特定要件に合わせたい 非エンジニアが主体

Google Managed(リモートMCPサーバー)

Google Cloudが管理するインフラ上で動作するフルマネージド型のMCPサーバーです。正式名称は「BigQuery remote MCP server」で、エンドポイント(https://bigquery.googleapis.com/mcp)をMCPクライアントに指定するだけで利用を開始できます。サーバーの構築・運用が不要なため、最も手軽に導入できる方式です。

Google Cloud のIAMによるアクセス制御やModel Armorによるプロンプトインジェクション対策など、セキュリティ機能が標準で組み込まれている点もメリットです。一方で、提供されるツール(execute_sqlやlist_dataset_idsなど)は固定されており、独自のツールを追加したり、挙動を細かくカスタマイズしたりすることはできません。

まず手軽にBigQuery × MCPを試したい場合や、Google Cloudの公式サポートを重視する場合に適した選択肢です。

参考:BigQuery リモート MCP サーバーを使用する|Google Cloud公式ドキュメント

MCP Toolbox for Databases

Googleがオープンソースで提供するローカル型のMCPサーバーです。tools.yamlという設定ファイルでツールの定義やアクセス制御を柔軟に構成できます。BigQuery以外のデータベース(Cloud SQL、AlloyDBなど)にも対応しているため、複数のデータソースをMCPで統合管理したい場合に適しています。

参考:GitHub – googleapis/mcp-toolbox: MCP Toolbox for Databases

コミュニティOSS

GitHub上で公開されているサードパーティ製のMCPサーバーです。代表的なものにmcp-server-bigqueryや@ergut/mcp-bigquery-serverがあります。

Google公式のサーバーにはない機能(例:フィールドレベルのアクセス制限や、クエリ対象テーブルのホワイトリスト制御など)を持つものもあり、特定の要件に合わせて選択・改修できる自由度があります。反面、メンテナンスや品質は各プロジェクトのコミュニティに依存するため、長期運用には継続性の見極めが必要です。

Google公式の方式では要件を満たせない場合や、自社で独自のMCPサーバーを開発する際のリファレンスとして活用するケースが多いです。

参考:mcp-server-bigquery|GitHub

ノーコード型

Skyviaなどのクラウドサービスが提供するGUIベースのMCPサーバーです。コードや設定ファイルを書かずに、画面操作だけでBigQueryとMCPクライアントを接続できます。

エンジニアのサポートなしで導入できる手軽さが最大のメリットです。ただし、カスタマイズの自由度は低く、利用できるMCPツールや接続設定がサービス側の仕様に依存します。また、外部SaaSを経由するため、データの経路やセキュリティポリシーとの整合性を事前に確認する必要があります。

技術リソースが限られたチームで、まずMCPによるデータ活用を小さく始めたい場合に向いています。

参考:MCP Server for Google BigQuery|Skyvia Blog

BigQuery MCPのセットアップ手順

構築方式ごとに手順は異なりますが、ここではGoogle Cloudが提供するGoogle Managed版(BigQuery remote MCP server)を例に、セットアップの流れを解説します。

前提条件と必要なIAMロール

Google Managed版を利用するには、以下の前提条件を満たす必要があります。

  • BigQuery APIが有効化されたGoogle Cloudプロジェクト
  • 対象プロジェクトへの適切なIAMロールの付与

必要なIAMロールは以下の3つです。

IAMロール 用途
Service Usage管理者(roles/serviceusage.serviceUsageAdmin) プロジェクトでAPIとMCPサーバーを有効にする
MCP Tool User(roles/mcp.toolUser) MCP ツール呼び出しを行う
BigQuery Job User(roles/bigquery.jobUser) BigQuery ジョブを実行する
BigQuery Data Viewer(roles/bigquery.dataViewer) BigQuery データのクエリを実行する

参考:必要なロール|Google Cloud公式ドキュメント

セキュリティの観点から、必要最小限のロールのみを付与することが推奨されています。

Google Managed版の設定方法

まず、gcloudコマンドでBigQuery MCPサーバーを有効化します。

gcloud beta services mcp enable bigquery.googleapis.com --project=YOUR_PROJECT_ID

有効化が完了したら、MCPクライアント側に以下の接続情報を設定します。

項目
サーバー名 BigQuery MCP server
エンドポイント https://bigquery.googleapis.com/mcp
トランスポート HTTP
認証 Google Cloud認証情報(OAuth / サービスアカウント / ADC)

参考:MCPサーバーを有効または無効にする|Google Cloud公式ドキュメント

MCPクライアント別の接続設定

上記の接続情報を各MCPクライアントに設定します。以下に主要なクライアントの設定例を示します。

Gemini CLI(.gemini/settings.json)

Gemini CLIでは、~/.gemini/settings.jsonにMCPサーバーの設定を記述します。BigQuery MCPサーバーはStreamable HTTPトランスポートを使用するため、httpUrlキーでエンドポイントを指定します。

{
"mcpServers": {
"bigquery": {
"httpUrl": "https://bigquery.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": ["https://www.googleapis.com/auth/bigquery"]
},
"timeout": 30000,
"headers": {
"x-goog-user-project": "YOUR_PROJECT_ID"
}
}
}
}

YOUR_PROJECT_IDは自身のGoogle CloudプロジェクトIDに置き換えてください。事前にGoogle Cloud CLIでgcloud auth application-default loginを実行してADCを設定しておく必要があります。

Claude(Settings > Connectors)

Claude(claude.ai)では、リモートMCPサーバーへの接続はJSON設定ファイルではなく、Webインターフェースの「Settings > Connectors」からカスタムコネクタとして追加します。

項目
サーバー名 BigQuery MCP server
リモートMCPサーバーURL https://bigquery.googleapis.com/mcp
OAuth クライアントID 事前に作成したGoogle Cloud OAuthクライアントのID
OAuth クライアントシークレット 同クライアントのシークレット

この機能はClaude Free / Pro / Max / Team / Enterpriseプランで利用可能ですが、Freeプランでは接続できるカスタムコネクタ数に制限があります。

参考:Get started with custom connectors using remote MCP | Claude Help Center

BigQuery MCPサーバーの制限事項

Google Managed版のBigQuery MCPサーバーには、以下の制限があります。導入時に把握しておくことで、想定外の挙動を避けられます。

  • execute_sqlはGoogle Driveの外部テーブルへのクエリに対応していない
  • クエリの処理時間はデフォルトで3分に制限されており、超過すると自動キャンセルされる
  • クエリ結果は最大3,000行に制限される

接続確認の方法

設定後、MCPクライアント上で「接続しているBigQueryのプロジェクトは?」のように質問してみてください。

プロジェクトIDやデータセットの情報が返ってくれば、接続は正常に完了しています。応答がない場合やエラーが返る場合は、IAMロールの付与状況やADCの設定を確認してください。

利用可能なMCPツール一覧

BigQuery MCPサーバーでは、LLMが自動的に呼び出すツール群が提供されています。ユーザーが直接ツールを選択する必要はありませんが、どのようなツールがあるかを把握しておくと、できることの範囲や制約を理解しやすくなります。

データ探索系ツール

BigQuery内のデータ構造を把握するためのツール群です。LLMはクエリを実行する前に、これらのツールを使ってデータセットやテーブルの情報を収集します。

ツール名 機能
list_dataset_ids プロジェクト内のデータセットID一覧を取得する
list_table_ids 指定したデータセット内のテーブルID一覧を取得する
get_dataset_info データセットの説明やラベルなどのメタ情報を取得する
get_table_info テーブルのスキーマ情報(カラム名・型・説明など)を取得する

ユーザーが「売上データを見せて」と指示した場合、LLMはこれらのツールでデータセットの一覧取得 → テーブルの特定 → スキーマ確認というステップを自動で踏み、その上でクエリを組み立てます。

クエリ実行ツール

データ探索で得たスキーマ情報をもとに、LLMが生成したSQLをBigQueryへ発行するのが「execute_sql」ツールです。自然言語の指示からSQL生成・実行・結果の返却までが一連の流れとして自動で処理されます。

なお、実行されるクエリはBigQueryの通常の課金対象です。意図しないコストへの対策は後述の「セキュリティと料金の注意点」で解説します。

BigQuery MCPの活用事例

BigQuery MCPは、技術的なデータ基盤としてだけでなく、日常業務のデータ活用を変える手段として導入が進んでいます。

ここでは代表的な3つの活用パターンを紹介します。SQLの専門知識がなくても実践できるものから、AIエージェントとの連携まで、活用の幅広さを把握しておくと導入後のイメージが掴みやすくなります。

リアルタイムKPI取得

ミーティング中に「今月の決済方法別の注文数は?」といった質問が出た場面で、MCPクライアント上からその場で回答を得るという使い方です。従来であれば「持ち帰って調べます」となっていた確認作業が、自然言語で質問するだけで即座に完了します。

わざわざクエリを書くほどでもないスポットの集計値を取りたいケースに特に有効です。会議中のちょっとした数値確認から、Slackで聞かれた質問への即時回答まで、データへのアクセス速度が大きく改善します。

非エンジニアによる自然言語分析

SQLの知識がないビジネス職のメンバーが、自然言語でBigQueryのデータを直接分析できるようになります。たとえば「過去1年間の顧客LTVを月別に集計して」といった指示で、複数テーブルのJOINを含むクエリも自動で生成・実行されます。

これまでデータ分析はエンジニアやアナリストへの依頼が前提でしたが、MCPを介することで依頼待ちの時間が解消されます。データ分析の属人化を防ぎ、チーム全体でデータドリブンな意思決定を進める基盤として機能します。

AIエージェント(ADK)連携

Google CloudのAgent Development Kit(ADK)とBigQuery MCPサーバーを組み合わせることで、データ取得から分析・アクション提案までを自律的に行うAIエージェントを構築できます。たとえば、BigQueryの売上データと外部の地理空間データを組み合わせて、店舗ごとのパフォーマンスを分析するようなユースケースが想定されます。

単発の質問応答にとどまらず、複数のデータソースを横断した分析や定型レポートの自動生成など、より高度なデータ活用への発展が見込めます。

セキュリティと料金の注意点

BigQuery MCPは自然言語でデータにアクセスできる利便性がある一方で、アクセス制御やコスト管理を適切に設計しないとリスクにつながります。Google Cloudでは組織ポリシー(gcp.managed.allowedMCPService)を使って、組織内で利用可能なMCPサーバーを

制限する仕組みも提供されています。導入前に押さえておくべきポイントをセキュリティと料金の両面から整理します。

IAM最小権限とガードレール設計

BigQuery MCPサーバーを利用するユーザーには、前述のIAMロール(mcp.toolUser / bigquery.jobUser / bigquery.dataViewer)を付与しますが、原則としてデータの読み取り権限のみに限定することが推奨されます。

なお、Google Managed版のexecute_sqlツールはSELECTステートメントのみに制限されており、INSERT・UPDATE・DELETEなどのデータ変更操作は実行できない仕様です。ただし、不要な権限を付与しないことはセキュリティの基本原則であり、IAMロールは必要最小限にとどめるべきです。

また、MCPツールにはmcp.tool.isReadOnly属性が設定されており、組織のポリシーを使って読み取り専用ツールのみを許可する運用も可能です。Google Cloud公式も、AIアプリケーションの機能に必要なサービスに対してのみMCPサーバーを有効にすることをベストプラクティスとしています。Google Managed版ではModel Armorによるプロンプトインジェクション対策も利用できるため、機密性の高いデータを扱う場合は併せて検討してください。

料金体系と意図しない課金の防止策

MCP経由で実行されるクエリは、BigQueryの通常の料金体系がそのまま適用されます。オンデマンド料金の場合、スキャンしたデータ量に応じて課金されるため、LLMが大量のデータをフルスキャンするクエリを生成すると想定外のコストが発生する可能性があります。

対策としては、BigQuery側でカスタムコスト管理を設定してクエリあたりのスキャン量に上限を設けることや、MCP Toolboxを使って公開するテーブルやクエリの種類を制限する方法が有効です。また、MCP経由で実行されたクエリにはラベルが自動付与されるため、このラベルを活用してMCP経由のクエリコストを可視化・監査することも可能です。特に検証段階では、本番環境のデータセットではなくサンプルデータでの検証を推奨します。

まとめ:自社に合った方式でBigQuery MCPを始めよう

本記事では、BigQueryをMCPで操作する仕組みから、4つの構築方式の比較、Google Managed版のセットアップ手順、活用事例、セキュリティと料金の注意点までを解説しました。

BigQuery MCPを導入することで、SQLの専門知識がなくてもBigQueryのデータに自然言語でアクセスできるようになります。まずはGoogle Managed版で小さく検証を始め、要件に応じてMCP ToolboxやOSSへの移行を検討するのが現実的な進め方です。

MCPサーバーの構築や自社の業務要件に合わせた設計を検討されている方は、クラウドエースのMCPサーバー開発支援もご活用ください。

クラウドエースの『MCP開発』×『データ分析』でビジネスを次のステージへ

アプリケーション開発とデータ活用の両面から、Google Cloudのエキスパートが貴社のDXをトータルサポート。

小林 由暁

小林 由暁の画像

IT業界歴約6年。インフラ構築を軸に、セキュリティからクラウドネイティブな設計まで幅広く経験。Google Cloud全認定資格を武器に、IaC基盤構築や大規模クラウドリフト案件のリーダー・PMとしてプロジェクトを牽引してきた。現在はVertex AI等を用いた生成AI導入やBigQueryによるデータ基盤構築に従事。最先端技術のビジネス実装に加え、顧客の内製化支援やガバナンス策定、コミュニティ活動を通じた技術還元にも注力している。