「ADK + MCP Toolbox」で目指す真のデータの民主化
1. はじめに
こんにちは。株式会社キカガクでデータエンジニアをしている @1616_imuimu です。
キカガクではデータドリブンな意思決定を推し進めるため、「データの民主化」をスローガンに BigQuery を中心としたデータ基盤の構築を 2025 年 1 月より進めています。
データの民主化を実現するには、非エンジニアの方たちにSQLやデータ分析の知識を身につけて実践してもらう必要がありますが、お互いに時間も労力もかかる大変な作業です。
この課題を解決するため、更には「データの民主化」をより高いレベルで実現するために「ADK + MCP Toolbox」を使った AI エージェントを構築したので、紹介します。
2. 従来のデータの民主化が抱える課題
冒頭でも触れましたが、非エンジニアの方たちにSQLやデータ分析の知識を身につけてもらうこと、すなわち、学習コストへの対応はデータの民主化を進めるうえで大きな課題です。
学習コストの例
SQL
まず最初に直面するのがSQLだと思います。SQLなくしてデータ分析をすることはできないと言っても過言ではないでしょう。しかし、非エンジニアの多くにとってはSQLの習得は難しく、複雑なクエリの作成やJOINの理解、サブクエリの活用など、求められる技術的なスキルは高いハードルとなります。
BIツール
次にBIツールの習得が待ち受けています。SQL に比べれば比較的容易かもしれませんが、それでも思った通りに作れるようになるには時間がかかります。
統計的知識
データ分析にはもちろん統計的知識が求められます。学生時代に数学で苦労した人にとっては、SQL以上のハードルとなり得るのではないでしょうか。
このように、データ分析に対する学習コストは決して小さくはありません。
そして、これら学習コストへの対策が不十分だと、以下の問題が発生します:
- データアナリストへ問い合わせが集中する
- 分析に時間がかかり意思決定が遅れる
- そもそもデータ分析を諦める人が出る
3. AI エージェントによる解決
キカガクでは、これらの課題を解決するために AI エージェントを活用したアプローチを採用しました。
具体的には、以下の3つのエージェントに分割し実装しています。
データ分析エージェント
後述のデータ抽出エージェントにデータの取得を依頼し、返ってきた結果をもとに集計や分析を行うエージェントです。分析結果をグラフ化する際には、データ可視化エージェントに依頼をします。
また、各種エージェントを統率するオーケストレーションの役割を兼ねています。
データ抽出エージェント
AI エージェントを構築する最大の利点です。
SQLの知識がなくても、以下のような自然言語の質問でデータ抽出・分析が実行できます:
「売上上位10社の月次推移をグラフで表示して」
「異常値のあるデータを検出して」
データ可視化エージェント
グラフツールを用いて分析結果を直感的に理解できる形で可視化するエージェントです。
データの特性に応じて、最適なグラフやチャートを自動選択します。もちろんユーザーが指示することもできます。
4. ADK + MCP Toolbox
上記の AI エージェントを構築するために ADK + MCP Toolbox を利用しました。
わずか10行程度で AI エージェントを定義することができ、BigQuery への接続も同じく10行程度で設定することができる優れものです。
ADK(Agent Development Kit) とは?
ADK(Agent Development Kit)は、AI エージェントを開発するためのフレームワークです。
エージェント開発キット(ADK)は、AIエージェントの開発と導入のための柔軟でモジュール化されたフレームワークです。GeminiとGoogleエコシステムに最適化されているADKは、モデルや導入に依存せず、他の フレームワークとの互換性も考慮して構築されています。ADKは、エージェント開発をソフトウェア開発に近い感覚で行えるように設計されており、開発者は単純なタスクから複雑なワークフローに至るまで、エージェントアーキテクチャを簡単に作成、導入、オーケストレーションできます。
[1] https://google.github.io/adk-docs/#what-is-agent-development-kit
MCP Toolbox とは?
正式名称 MCP Toolbox for Databases は、AI エージェントがデータベース内のデータにアクセスできるようにするためのツールです。これを使用することで、わずか数行のコードで AI エージェントを BigQuery などのデータベースに接続することができます。
Toolbox には以下の機能があります。
- 開発の簡素化: 10 行未満のコードでエージェントにツールを統合し、複数のエージェントまたはフレームワーク間でツールを再利用し、新しいバージョンのツールをより簡単に展開できます。
- パフォーマンスの向上: 接続プール、認証などのベスト プラクティス。
- 強化されたセキュリティ: 統合認証により、データへのより安全なアクセスが可能
- エンドツーエンドの可観測性: OpenTelemetry の組み込みサポートを備えた、すぐに使用できるメトリックとトレース。
[2] https://github.com/googleapis/genai-toolbox?tab=readme-ov-file#why-toolbox
5. デモ
ADK + MCP Toolboxの実際の動作を、具体的な例を通じてご紹介します。
※例はすべてダミーデータによる結果です
デモ1:自然言語でのデータ抽出
入力(自然言語):
「売上データすべてをください」
結果
売上が保存されているテーブルを選んで全件取得してくれます

デモ2:自然言語でのデータ分析
入力(自然言語):
「売上の月次集計を取得して分析してください」
結果

デモ3:自然言語でのデータの可視化
入力(自然言語):
「月次で集計した売上をグラフ化して」
結果
このようなキレイなグラフを作成してくれます

6. 今後の課題
今回、「ADK + MCP Toolbox」を使った AI エージェントを構築した取り組みを紹介しました。
データ分析の各工程について出力させることに成功しましたが、今後は以下の課題があり改善を予定しています。
- 大量のデータを扱うとモデルのトークン制限に引っかかる
- 出力に時間がかかる
- ハルシネーションの低減、防止
データ分析がより活発に行われるようにするために、使いやすいものにしていこうと思っています!
7. 最後に
株式会社キカガクではエンジニアを募集しています!!
少しでも興味がある方がいれば、まずはカジュアル面談でお話しましょう。
Discussion