電通総研 テックブログ

電通総研が運営する技術ブログ

Gemini CLIからLooker MCPを使ってみた

こんにちは!エンタープライズ第三本部 マーケティングIT部の母壁です。
この度LookerがMCPに対応し、外部のLLM(生成AIエージェント)からのLookerのデータ探索および活用が可能となりました。この記事ではLooker MCPの導入による利便性と、データ分析・ダッシュボード作成自動化における効果について検証した内容をご紹介します。
まず初めに、MCPおよびLookerの基礎的な知識をご説明します。

MCPとは

MCP(Model Context Protocol)は、生成AIと外部データソースとの連携を標準化するためのオープンスタンダードな通信プロトコルです 。 簡単にいうと今まで各社がそれぞれの方法で開発していたLLMと外部ツールの接続方式を統一したら色々と便利だよね、ということです。
MCPを公開したAnthropic社は「AIのためのUSB-Cのような存在」と表現しています。(今やiPhoneAndroidが同じType-Cコネクタになったように、LLMと外部ツール間の統一された接続規格として機能するということですね!)
MCPオープンソース化されてから続々と対応するツールやサービスが登場しており、今後さらなる広がりが予想されます。

MCP Toolbox

MCP Toolboxとは、AIアプリケーションとデータベースなどの連携を効率化するためのGoogleが提供するオープンソースツール群です 。 AIエージェントが企業データに安全にアクセスし、自然言語でのデータ検索や分析といったタスクを効率的に実行するための基盤を提供します。このToolboxの一部として、2025年7月に「Looker MCP Server」が提供開始されました 。
MCP Toolboxのイメージ図

Lookerについて

LookerGoogleが提供するビジネスインテリジェンス(BI)ツールです。単なるデータの可視化にとどまらず、ガバナンスの効いた統合的なデータプラットフォームとしての側面も持ち合わせていますが、今回はデータソースから収集、加工、分析したデータをダッシュボード上で可視化できるツールとしてご紹介します。

【検証】Gemini CLIからLooker MCPを使ってみる

ここから本題となりますが、Looker MCPを使用した生成AIによるダッシュボードの自動生成についてご紹介します。
本来Lookerでダッシュボードを作成するにはGUI上でデータを探索し、可視化したタイル(グラフなど)を一つずつ作成・配置をする必要があります。これを生成AIによって自動化できたら便利そうですよね、、?
そこでLooker MCPの登場によりダッシュボード自動生成の機能がどこまで実用的なものなのか検証してみました。
以下、こちらの公式ドキュメントを参考に作業を行いました。

1. MCP Toolboxのインストール

まずMCP Toolboxの最新バージョンをダウンロードします。

curl -O https://storage.googleapis.com/genai-toolbox/v0.14.0/darwin/arm64/toolbox

バイナリを実行可能にします。

chmod +x toolbox

最後にバージョンを確認しておきましょう。(検証時はV0.12で実施しています)

./toolbox --version


2. Gemini CLIのインストール

今回はローカル環境からGemini CLIを使用してMCPサーバーを構成しました。 Gemini CLIの利用は、npxコマンドを使って一時的に実行することも可能ですが、settings.jsonの設定など繰り返し利用する想定なので、今回はnpmでグローバルにインストールしています。

npm install -g @google/gemini-cli


3. MCPクライアントの構成

続いてMCPクライアントを構成します。 以下のようにsettings.jsonファイルを定義することで、GeminiがMCPクライアントとして機能し、起動時にMCPサーバーを立ち上げてくれます。この時ファイルは.geminiフォルダ直下に配置する必要がある点に注意してください。 settings.jsonのスクリーンショット

各要素を少し解説します。

  • looker-toolbox:Looker MCP Serverを使用する場合は指定します。
  • command:インストールしたMCP Toolboxのパスを指定します。
  • env:Lookerインスタンスに接続するMCPクライアントを構成するための環境変数です。
    • LOOKER_BASE_URL:接続するLookerのURLを指定します。
    • LOOKER_CLIENT_ID:LookerにログインするユーザーのIDです。
    • LOOKER_CLIENT_SECRET:Lookerにログインするユーザーのシークレットです。

設定は以上です!ローカル環境という点もありますが、想定よりも簡単に設定が完了しました。
ではいよいよプロンプトを投げてダッシュボードを作ってもらいます。

4. ダッシュボードの自動生成

Gemini CLIを起動してみます。MCPクライアントが正常に構成されていれば「Using: 1 MCP server」と表記されます。

ダッシュボードを表示する元データとして、BigQueryのパブリックデータセットに用意されているECサイトの売上データを使用しました。
事前準備としてBigQueryからLookerにデータを取り込み、LookMLでエクスプローラー等の定義を行ったうえで作業しています。
またLookMLでは以下のようにメジャーを記述し、日本語のラベルを追加することでLLMが探索をしやすくなるようにメタデータを補填する工夫を行いました。メジャー名に略称を使用している場合や、専門的な単語がある場合に、日本語のラベルを定義することで日本語のプロンプトに対して探索の精度が上がることは事前に確認しています。

この状態でLLMにダッシュボード生成を依頼してみましょう。

まずは事前に用意したエクスプローラー「hahakabe02」を指定して、ダッシュボードの中身については特に指定せずに生成を依頼してみます。

hahakabe02を使用して、2023年のセールスダッシュボードを作成してください。

依頼をするとまずはログインするユーザーの参照できる範囲でどのデータを探索するか逐一確認されます。参照するデータを選択することでダッシュボードに不要なデータを弾くことができます。
LLMが使用できるツールには例えば以下のようなものがあります。

  • get_models:LookML モデルの一覧を取得
  • get_exploresエクスプローラーの一覧を取得
  • get_dimensions:指定された Explore のディメンションの一覧を取得
  • get_measures:指定された Explore のメジャーの一覧を取得
  • query:クエリを実行してデータを返却
  • make_dashboard:ダッシュボードを作成しURLを返却
  • add_dashboard_element:ダッシュボードにタイルを追加


一連の探索が終わるとクエリを実行してダッシュボードに表示するタイルを作成してくれます。できあがったダッシュボードを確認してみましょう。

月ごとの売上の推移や都道府県別の売上など、お題に合うように指標を決めてタイルを作成してくれています。
一方で各タイルの集計条件を細かく確認してみると、例えば総売上の指標については発注情報のうち、「購入日時」のディメンションではなく「製造日時」のディメンションでフィルタリングしているようでした。このような集計条件の指定はプロンプトで指定してあげるほうが良さそうです。


5. プロンプトの調整

改めてプロンプトを調整してダッシュボード生成を依頼してみます。タイルの種類、参照するメジャー、フィルターの条件など各タイルに指定してみます。

Explore「hahakabe02」を使用して、新しいダッシュボード「2024年セールスダッシュボード demo」を作成してください。 以下のビジュアライゼーションをダッシュボードに追加してください:

  1. 総売上
    • タイプ:単一値
    • メジャー:[総売上]
    • 日付フィルタ:[購入日時]が2024年である
    • 値の形式:$#,##0
  2. 平均注文金額
    • タイプ:単一値
    • メジャー:[平均注文金額]
    • 日付フィルタ:[購入日時]が2024年である
    • 値の形式:$#,##0

...

できあがったダッシュボードを見てみるとフィルターが正常に適用され、2024年の購入データのみが表示されていることが確認できました!またグラフの形式や使用するメジャーを指定することである程度望んでいた表示になっていました。
ただし「値の形式」で表示桁数を整数値にするようにプロンプトで指示しましたが、LLMがそこを設定することは現状できないようでした。やはり作成されたグラフが正しいデータを参照しているのかの確認や、最終的な見た目の仕上げにはまだ人の手が必要です。



おわりに:実用性はあるのか?

MCPはデータ統合・分析基盤やLLMの外部システム連携において、急速的に浸透しつつあります。LookerがMCPに対応したことで実務で使える場面も増えてくると大いに期待できます。

1. ダッシュボード作成の初動を効率化
先述したように最終的なダッシュボードの正確性の確認や表示スタイルのチューニングなどには人力のコストがある程度必要なものの、作業の初動を早められることは確実だと感じました。また対象のデータに精通していない人でもAIとの会話でデータの探索、グラフの作成ができるため、人員調達のハードルも下がることが期待されます。
2. より高度なインサイトの導出
従来のLookerの組み込み会話分析機能では、通常1つのエクスプローラーの範囲内でデータをクエリしますが、複数のエクスプローラーを探索しデータを統合することでより柔軟で高度なデータ分析やレポート作成ができるようになると思います。またMCPサーバーを複数立てることでLookerだけでなくCRMやGoogleDriveなど外部サービスと連携することも可能です。例えば今回のように顧客データや売上だけでなく、営業活動のデータやウェブサイト行動のデータなどを集約し、横断的な分析とインサイトの提示を得ることも可能だと思われます。

このようなメリットが期待できる一方で、改めてLookMLにおけるデータの定義を充実させることが会話分析の精度向上に不可欠であることを実感しました。


最後までお読みいただきありがとうございました。
本記事ではLooker MCPを中心にご紹介をしましたが、弊社ではLookerの導入実績も豊富にありますので、Lookerの導入を検討されている、あるいはLookerの次の活用フェーズをお考えの際にはぜひご相談ください!

私たちは一緒に働いてくれる仲間を募集しています!

電通総研 キャリア採用サイト 電通総研 新卒採用サイト

執筆:@hahakabe.kiichi
レビュー:@kinjo.ryuki
Shodoで執筆されました