コンテンツに移動
AI & 機械学習

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

2025年8月6日
https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_4EFLghF.max-2500x2500.png
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 とリージョンを確定します。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_uPRGICh.gif

bq-agent-app という名前の新しいフォルダが作成されているはずです。agent.py に移動し、ルートの LLM-Agent を更新して会話型分析エージェントを反映させます。

lang-py
読み込んでいます...

エージェントを定義する際には、一意の名前と、基盤となる LLM モデルを指定します。必要に応じて、他のエージェントがその目的を理解するのに役立つ説明を含めることができます。エージェントのコアタスクまたは目標は、カスタム指示で定義します。

最後に、エージェントがデータを操作できるようにするには、BigQuery とやり取りできるツールを装備する必要があります。これにより、エージェントは利用可能なデータセットとテーブルを理解し、クエリを実行できるようになります。それでは、BigQuery のファーストパーティ ツールセットを使用する際の選択肢を検討してみましょう。

オプション 1: BigQuery 向けの ADK の新しい組み込みツールセットを使用する

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_K6pQymV.max-1900x1900.png

このファーストパーティ ツールセットは Google が所有し、管理しています。これらのツールをエージェントに割り当てるには、agents.tools モジュールから BigQueryToolset をインポートし、ツールセットを初期化する必要があります。

lang-py
読み込んでいます...

tool_filter パラメータを使用して、エージェントに公開するツールをフィルタできます。

認証に関する注意事項

現在、BigQuery での認証には 3 つの方法があります。

BigQuery とのやり取りをより細かく制御するには、独自のカスタム関数ツールを作成することもできます。これは、エージェントに公開する Python 関数として実装されます。

ツールがエージェント内に直接実装されている場合、組み込みのツールセットであっても、BigQuery への認証の管理と各ツールのロジックおよび実装はエージェントまたはアプリケーションが担当します。 この緊密な結合には課題があります。ツールを更新したり BigQuery との接続方法を変更したりするたびに、すべてのエージェントを手動で変更して再デプロイする必要があるのです。これにより、不整合やメンテナンスのオーバーヘッドが発生する可能性があります。

オプション 2: MCP Toolbox for Databases で BigQuery の事前構築済みツールを使用する

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_DqbGaPE.max-1800x1800.png

MCP(Model Context Protocol)Toolbox for Databasesは、ツールセットのホスティングと管理を一元化するオープンソース サーバーであり、エージェント アプリケーションを BigQuery から切り離して直接的なやり取りを不要にします。エージェントは、ツールロジックと認証を直接管理するのではなく、MCP クライアントとして機能し、ツールボックスにツールをリクエストします。MCP Toolbox は、BigQuery への安全な接続、認証、クエリの実行などの基本的な処理にまつわる複雑さをすべて引き受けます。

この一元化されたアプローチにより、複数のエージェントでツールを簡単に再利用でき、更新が効率化されます(Toolbox 内でツールロジックを変更してデプロイできるため、各エージェントを変更する必要がありません)。また、セキュリティ ポリシーを一か所でまとめて適用できます。

MCP Toolbox for Databases は、BigQuery の事前構築済みツールセットをネイティブにサポートしています。これらのツールにアクセスするには、まず ADK アプリケーションと同じディレクトリに新しい mcp-toolbox フォルダを作成し、MCP Toolbox をインストールする必要があります。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/4_UageSLh.gif

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() 関数を使用してツールセットを取得できます。

lang-py
読み込んでいます...

会話型分析エージェントを実行する

組み込みの ADK ツールセットまたは MCP ツールセットをエージェントに割り当てれば、準備完了です。

読み込んでいます...

これで、adk run コマンドまたは adk web コマンドを使用してエージェントを実行し、データに関する質問を始めることができます。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/5_r7ubnZ0.gif

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

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_FwSa1HU.max-1600x1600.png

ー Google、デベロッパー アドボケイト Rachael Deacon-Smith

ー Google、BigQuery プロダクト マネージャー Sandeep Karmarkar

投稿先