Skip to content

gemini-cli-extensions/looker-conversational-analytics

v0.3.10Apache-2.0

Connect to Looker Conversational Analytics

Gemini CLI Extension - Looker Conversational Analytics

Note

This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).

This Gemini CLI extension provides a set of tools to interact with Looker instances. It allows you to manage your Looks, dashboards, and explores directly from the Gemini CLI, using natural language prompts.

Learn more about Gemini CLI Extensions.

Important

We Want Your Feedback! Please share your thoughts with us by filling out our feedback form. Your input is invaluable and helps us improve the project for everyone.

Why Use the Looker Extension?

  • Seamless Workflow: Stay in your CLI. No need to constantly switch contexts.
  • Connect to Looker: Securely connect to your Looker instances.
  • Natural Language Usage: Stop wrestling with complex commands. List models, explores, and dimensions, and run Looks and queries by describing what you want in plain English.

Prerequisites

Before you begin, ensure you have the following:

  • One of the supported agent harnesses, installed and authenticated:

  • Node.js (the MCP server runs via npx).

  • A Looker instance with API access enabled. You will need a Looker Client Id and Client Secret. These can be obtained by following the directions at Looker API authentication.

  • A Google Cloud project with the appropriate APIs enabled. You will need a Google Cloud project with the appropriate APIS enabled. Use the following command to enable those APIs:

    gcloud services enable geminidataanalytics.googleapis.com --project=$PROJECT_ID
    gcloud services enable cloudaicompanion.googleapis.com --project=$PROJECT_ID
    

    In addition to setting the ADC for your server, you need to ensure the IAM identity has been given the following IAM roles (or corresponding permissions):

    • roles/looker.instanceUser
    • roles/cloudaicompanion.user
    • roles/geminidataanalytics.dataAgentStatelessUser

    To initialize the application default credential run gcloud auth login --update-adc in your environment before starting MCP Toolbox.

Getting Started

Installation

All harnesses use the same plugin; the MCP server runs via npx (no binary to download). Install with your harness of choice:

Gemini CLI

gemini extensions install https://github.com/gemini-cli-extensions/looker-conversational-analytics

Claude Code

claude plugin marketplace add gemini-cli-extensions/looker-conversational-analytics
claude plugin install looker-conversational-analytics@looker-conversational-analytics

Codex

codex plugin marketplace add gemini-cli-extensions/looker-conversational-analytics
codex plugin add looker-conversational-analytics@looker-conversational-analytics

Antigravity

agy plugin install https://github.com/gemini-cli-extensions/looker-conversational-analytics

See Configuration for how each harness supplies the connection settings.

Configuration

The plugin connects to Looker using these settings:

  • LOOKER_BASE_URL: The URL of your Looker instance (e.g. https://looker.example.com). You may need to add the port, i.e. :19999.
  • LOOKER_CLIENT_ID: Your Looker Client ID.
  • LOOKER_CLIENT_SECRET: Your Looker Client Secret.
  • LOOKER_PROJECT: The Google Cloud Project ID.
  • LOOKER_LOCATION: The Google Cloud Location ID.
  • LOOKER_VERIFY_SSL: (Optional) Whether to verify SSL certificates. Defaults to true.

How you supply them depends on the harness:

  • Gemini CLI: prompted on install and saved to the extension's .env. View or update later with gemini extensions list / gemini extensions config looker-conversational-analytics [setting] [--scope user|workspace] (restart the CLI to apply).
  • Claude Code: pass --config KEY=VALUE on install (repeatable), or run /plugin inside Claude Code.
  • Codex and Antigravity: export the variables in your shell before starting:
export LOOKER_BASE_URL="<your-looker-instance-url>"  # e.g. `https://looker.example.com`. You may need to add the port, i.e. `:19999`.
export LOOKER_CLIENT_ID="<your-looker-client-id>"
export LOOKER_CLIENT_SECRET="<your-looker-client-secret>"
export LOOKER_PROJECT="<your-google-cloud-project-id>"
export LOOKER_LOCATION="<your-google-cloud-location-id>"
export LOOKER_VERIFY_SSL="true" # Optional, defaults to true

Note

Start Gemini CLI

To start the Gemini CLI, use the following command:

gemini

Usage

You can ask questions and give commands such as these:

  1. What models are available in my Looker instance?
  2. What explores are available in model_name?
  3. What questions can I ask of the explore explore_name in model model_name?

Supported Tools

  • get_models: Use this tool to list the LookML models in Looker.
  • get_explores: Use this tool to list the explores in a given model.
  • ask_data_insights: Use this tool to ask a natural language questions of an explore.

Additional Extensions

Find additional extensions to support your entire software development lifecycle at github.com/gemini-cli-extensions.

Troubleshooting

Use gemini --debug to enable debugging.

Common issues:

  • "failed to find default credentials: google: could not find default credentials.": Ensure Application Default Credentials are available in your environment. See Set up Application Default Credentials for more information.
  • "✖ Error during discovery for server: MCP error -32000: Connection closed": The database connection has not been established. Ensure your configuration is set via environment variables.
  • "✖ MCP ERROR: Error: spawn npx ENOENT": Node.js/npx is not installed or not on your PATH. Install Node.js (which provides npx).
  • "npm error"/network failures on first run: npx fetches @toolbox-sdk/server on first launch, so it needs network access. Retry once connectivity is available.