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:
- Gemini CLI (v0.6.0+)
- Claude Code
- Codex (v0.150.0+)
- Antigravity CLI
-
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_IDIn 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.instanceUserroles/cloudaicompanion.userroles/geminidataanalytics.dataAgentStatelessUser
To initialize the application default credential run
gcloud auth login --update-adcin 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 totrue.
How you supply them depends on the harness:
- Gemini CLI: prompted on install and saved to the extension's
.env. View or update later withgemini extensions list/gemini extensions config looker-conversational-analytics [setting] [--scope user|workspace](restart the CLI to apply). - Claude Code: pass
--config KEY=VALUEon install (repeatable), or run/plugininside 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
- Ensure Application Default Credentials are available in your environment.
- See Troubleshooting for debugging your configuration.
Start Gemini CLI
To start the Gemini CLI, use the following command:
gemini
Usage
You can ask questions and give commands such as these:
- What models are available in my Looker instance?
- What explores are available in model_name?
- 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/
npxis not installed or not on yourPATH. Install Node.js (which providesnpx). - "npm error"/network failures on first run:
npxfetches@toolbox-sdk/serveron first launch, so it needs network access. Retry once connectivity is available.