BigQuery と ADK & MCP: 新しいファーストパーティ ツールセットでエージェント開発を加速

Rachael Deacon-Smith
Developer Advocate, Google
Sandeep Karmarkar
BigQuery Product Manager, Google
※この投稿は米国時間 2025 年 7 月 29 日に、Google Cloud blog に投稿されたものの抄訳です。
AI エージェントに対する関心が企業に広がるにつれ、重要な疑問が浮上しています。それは、Google Cloud BigQuery などのエンタープライズ向けデータシステムとエージェントとの安全かつインテリジェントな連携を実現するにはどうすればよいか、ということです。
現在、エージェント アプリケーションのデベロッパーは、独自のカスタムツールを作成して維持することを余儀なくされています。このプロセスは、時間がかかり、リスクが高いだけでなく、革新的なアプリケーションの構築から注意がそらされるというデメリットがあります。また、認証やエラー処理から進化する BigQuery 機能への対応まですべてを担うため、大きな開発オーバーヘッドとリスクが生じます。
Google はこのたび、この問題を解決するために、メタデータの取得とクエリの実行用のツール(今後も各種ツールを追加予定)を含む、BigQuery の新しいファーストパーティ ツールセットを発表します。
-
list_dataset_ids: Google Cloud プロジェクトに存在する BigQuery データセット ID を取得します。
-
get_dataset_info: BigQuery データセットに関するメタデータを取得します。
-
list_table_ids: BigQuery データセットに存在するテーブル ID を取得します。
-
get_table_info: BigQuery テーブルに関するメタデータを取得します。
-
execute_sql: BigQuery で SQL クエリを実行し、結果を取得します。
これらの Google が管理する公式ツールは、データへの安全で信頼性の高いブリッジを提供し、Google の Agent Development Kit(ADK)に組み込まれたツールセット、またはオープンソースの柔軟な MCP Toolbox for Databases(データベース向け MCP ツールボックス)の 2 つの方法で使用できます。これにより、基盤となるシステムの構築ではなく、価値の創造に集中できるようになります。
この投稿では、BigQuery のファーストパーティ ツールについて説明し、自然言語の質問に答える会話型分析エージェントを ADK で構築する方法を手順を追ってご紹介します。
チュートリアル: BigQuery のファーストパーティ ツールを使用した会話型分析エージェントの構築
エージェントは、顧客情報、商品在庫、注文履歴を含む合成 e コマース データセットである BigQuery の一般公開データセット thelook_ecommerce をクエリします。エージェントの主な役割は、SQL クエリを生成し、一般的なビジネス上の質問に対して意味のある回答を提供することです。たとえば、「売れ筋商品は何ですか?」、「一緒に注文されることが多い商品はどれですか?」、「海外には何社のお客様がいますか?」などです。
ADK を初めて使用する場合は、こちらのページでその基本コンセプトとコンポーネントの概要を確認してください。では、さっそく始めましょう。
まず、Python 環境を作成して ADK をインストールする必要があります。その後、ADK ユーティリティを呼び出して、現在のフォルダに新しい ADK アプリケーション bq-agent-app を作成します。
モデルを選択し、バックエンドとして Vertex AI を選択して、プロジェクト ID とリージョンを確定します。


bq-agent-app という名前の新しいフォルダが作成されているはずです。agent.py に移動し、ルートの LLM-Agent を更新して会話型分析エージェントを反映させます。
エージェントを定義する際には、一意の名前と、基盤となる LLM モデルを指定します。必要に応じて、他のエージェントがその目的を理解するのに役立つ説明を含めることができます。エージェントのコアタスクまたは目標は、カスタム指示で定義します。
最後に、エージェントがデータを操作できるようにするには、BigQuery とやり取りできるツールを装備する必要があります。これにより、エージェントは利用可能なデータセットとテーブルを理解し、クエリを実行できるようになります。それでは、BigQuery のファーストパーティ ツールセットを使用する際の選択肢を検討してみましょう。
オプション 1: BigQuery 向けの ADK の新しい組み込みツールセットを使用する


このファーストパーティ ツールセットは Google が所有し、管理しています。これらのツールをエージェントに割り当てるには、agents.tools モジュールから BigQueryToolset をインポートし、ツールセットを初期化する必要があります。
tool_filter パラメータを使用して、エージェントに公開するツールをフィルタできます。
認証に関する注意事項
現在、BigQuery での認証には 3 つの方法があります。
-
コードの実行環境に関連付けられているアプリケーションのデフォルト認証情報を使用する。
-
サービス アカウント キーファイルから認証情報を読み込んで、サービス アカウントの認証情報を使用する。
-
OAuth 2.0 のクライアント ID とシークレットを指定する。この方法は通常、アプリケーションが BigQuery データにアクセスする権限をユーザーから付与してもらう必要がある場合に使用されます。
BigQuery とのやり取りをより細かく制御するには、独自のカスタム関数ツールを作成することもできます。これは、エージェントに公開する Python 関数として実装されます。
ツールがエージェント内に直接実装されている場合、組み込みのツールセットであっても、BigQuery への認証の管理と各ツールのロジックおよび実装はエージェントまたはアプリケーションが担当します。 この緊密な結合には課題があります。ツールを更新したり BigQuery との接続方法を変更したりするたびに、すべてのエージェントを手動で変更して再デプロイする必要があるのです。これにより、不整合やメンテナンスのオーバーヘッドが発生する可能性があります。
オプション 2: MCP Toolbox for Databases で BigQuery の事前構築済みツールを使用する


MCP(Model Context Protocol)Toolbox for Databasesは、ツールセットのホスティングと管理を一元化するオープンソース サーバーであり、エージェント アプリケーションを BigQuery から切り離して直接的なやり取りを不要にします。エージェントは、ツールロジックと認証を直接管理するのではなく、MCP クライアントとして機能し、ツールボックスにツールをリクエストします。MCP Toolbox は、BigQuery への安全な接続、認証、クエリの実行などの基本的な処理にまつわる複雑さをすべて引き受けます。
この一元化されたアプローチにより、複数のエージェントでツールを簡単に再利用でき、更新が効率化されます(Toolbox 内でツールロジックを変更してデプロイできるため、各エージェントを変更する必要がありません)。また、セキュリティ ポリシーを一か所でまとめて適用できます。
MCP Toolbox for Databases は、BigQuery の事前構築済みツールセットをネイティブにサポートしています。これらのツールにアクセスするには、まず ADK アプリケーションと同じディレクトリに新しい mcp-toolbox フォルダを作成し、MCP Toolbox をインストールする必要があります。


BIGQUERY_PROJECT 環境変数を設定します。これは、BigQuery ジョブが作成、実行、課金されるプロジェクトを表します。
次のコマンドを実行してツールボックスを起動し、BigQuery ツールセットを含めます。
IDE 内で MCP クライアントを構成することもできます。
MCP Toolbox for Databases で独自のカスタムツールをホストしたい場合
tools.yaml
構成ファイル内で SQL のカスタムツールを定義し、サーバーの起動時に –tools-file
オプションを指定します。ただし、--prebuilt
オプションと –tools-file
オプションを同時に使用することはできません。カスタムツールを事前構築済みツールと併用する場合は、–tool-file
オプションを使用したうえで、事前構築済みツールを構成ファイルで手動指定する必要があります(例)。
ADK アプリケーションを MCP Toolbox for Databases に接続するには、toolbox-core をインストールする必要があります。
サーバーが起動して実行されたら、ToolboxSyncClient とその load_toolset() 関数を使用してツールセットを取得できます。
会話型分析エージェントを実行する
組み込みの ADK ツールセットまたは MCP ツールセットをエージェントに割り当てれば、準備完了です。
これで、adk run
コマンドまたは adk web
コマンドを使用してエージェントを実行し、データに関する質問を始めることができます。


エージェントは事前構築されたツールを利用してデータセットのメタデータを抽出し、BigQuery で SQL クエリを生成して実行し、結果を取得します。


実際に使ってみる
これらのチュートリアルを活用して、さっそく会話型分析エージェントの構築を始めましょう。
ー Google、デベロッパー アドボケイト Rachael Deacon-Smith
ー Google、BigQuery プロダクト マネージャー Sandeep Karmarkar