Looker MCP Server
Official Looker MCP server (part of Google's MCP Toolbox for Databases) that lets AI agents query Looker's semantic layer so Looker generates governed SQL.
The Looker MCP Server is an official Google Cloud integration shipped as part of the MCP Toolbox for Databases. Instead of asking an LLM to author raw SQL against your warehouse, the server exposes Looker's semantic layer (LookML models, explores, dimensions, measures, filters, looks, and dashboards) as MCP tools. The agent describes what it wants in semantic terms and Looker compiles the correct, governed SQL behind the scenes against connected sources like BigQuery, AlloyDB, Cloud SQL, Snowflake, and others.
Key capabilities include discovering LookML models and explores, running queries with measures and filters, generating SQL previews, executing saved Looks, running and creating dashboards, plus a separate looker-dev toolset for LookML project development (dev mode, listing and editing project files). A health toolset adds instance diagnostics (health_pulse, health_analyze, health_vacuum).
Because queries flow through Looker's semantic layer, access is governed by Looker's existing permissions and audit trails. The server supports API credentials (Client ID/Secret) or shared service OAuth, and runs locally as a stdio MCP process via the toolbox binary using a prebuilt looker configuration.
Tools
| Tool | Description |
|---|---|
get_models |
List LookML models available on the Looker instance. |
get_explores |
List explores within a given LookML model. |
get_dimensions |
List dimensions for a given explore. |
get_measures |
List measures for a given explore. |
get_filters |
List filters for a given explore. |
get_parameters |
List parameters for a given explore. |
query |
Run an inline query against a LookML explore using selected fields, filters, and sorts. |
query_sql |
Return the SQL Looker would generate for a query without executing it. |
query_url |
Return a Looker URL for a query so a user can open results in the UI. |
get_looks |
List saved Looks available to the user. |
run_look |
Execute a saved Look by ID and return results. |
make_look |
Create a new saved Look from a query. |
get_dashboards |
List dashboards on the instance. |
run_dashboard |
Run all tiles in a dashboard. |
make_dashboard |
Create a new dashboard. |
add_dashboard_element |
Add a tile to an existing dashboard. |
health_pulse |
Check overall Looker instance health. |
health_analyze |
Run instance health analysis. |
health_vacuum |
Surface unused content and stale objects. |
dev_mode |
Toggle Looker dev mode for the session (looker-dev toolset). |
get_projects |
List LookML projects (looker-dev toolset). |
get_project_files |
List files within a LookML project (looker-dev toolset). |
create_project_file |
Create a new LookML file in a project (looker-dev toolset). |
update_project_file |
Update an existing LookML file (looker-dev toolset). |
Prerequisites
- A Looker instance you can reach over the network
- Looker API3 credentials (Client ID + Client Secret) from the Users page in Looker admin
- The
toolboxbinary from the MCP Toolbox for Databases releases
1. Install the toolbox binary
Download the binary for your OS/arch from the mcp-toolbox releases, then:
chmod +x toolbox
./toolbox --version
2. Get Looker credentials
In Looker, go to Admin, Users, pick a user (often a service account user), and generate API3 keys. Note your instance base URL (some self-hosted instances need :19999 appended).
3. Configure your MCP client
Add this to ~/.gemini/settings.json, Claude Desktop's claude_desktop_config.json, or Cursor's MCP config:
{
"mcpServers": {
"looker-toolbox": {
"command": "/path/to/toolbox",
"args": ["--stdio", "--prebuilt", "looker"],
"env": {
"LOOKER_BASE_URL": "https://looker.example.com",
"LOOKER_CLIENT_ID": "your_client_id",
"LOOKER_CLIENT_SECRET": "your_client_secret",
"LOOKER_VERIFY_SSL": "true"
}
}
}
}
To also enable LookML development tools, change the args to:
"args": ["--stdio", "--prebuilt", "looker,looker-dev"]
Environment variables
LOOKER_BASE_URL(required): URL of your Looker instanceLOOKER_CLIENT_ID(required): API3 client IDLOOKER_CLIENT_SECRET(required): API3 client secretLOOKER_VERIFY_SSL(optional, defaulttrue)LOOKER_SHOW_HIDDEN_MODELS(optional, defaulttrue)LOOKER_SHOW_HIDDEN_EXPLORES(optional, defaulttrue)LOOKER_SHOW_HIDDEN_FIELDS(optional, defaulttrue)LOOKER_USE_CLIENT_OAUTH(optional): set totruefor shared service OAuth flows
- Ask an agent to compute governed business metrics ("weekly active accounts by plan tier last 8 weeks") and have Looker generate the SQL against BigQuery or Snowflake
- Let an analyst chat with their data in Claude Desktop or Gemini CLI without exposing the raw warehouse, queries flow through LookML permissions
- Have an agent run a saved Look or dashboard, summarize the results, and post insights to Slack or a doc
- Use the
looker-devtoolset to scaffold and edit LookML files in a project from an IDE, automating boilerplate dimension and measure creation - Trigger
health_pulseandhealth_vacuumfor routine instance hygiene reports and find unused content
- "List the explores in the
ecommercemodel and show me the dimensions and measures available onorders." - "Query the
ordersexplore for total revenue by week for the last 12 weeks, filtered to status = complete." - "Show me the SQL Looker would generate for revenue by country last quarter, but don't run it."
- "Run the saved Look named
Top Customers by ARRand summarize the top 5 rows." - "Create a new dashboard called
Q3 Pipelineand add a tile showing opportunities by stage from thesalesexplore."
- Official Google Cloud integration, maintained inside the
googleapis/mcp-toolboxrepo - Queries go through Looker's semantic layer so metrics stay governed, permissioned, and auditable
- Broad tool coverage: querying, saved content, dashboards, instance health, and LookML development
- Works with any MCP client (Claude Desktop, Gemini CLI, Cursor, Google Antigravity)
- Requires a Looker license and API3 credentials, not usable without an existing instance
- Runs as a local stdio process via the
toolboxbinary, no fully hosted remote option from Google - LookML development tools (
looker-dev) must be opted into separately and can mutate project files, so guardrails matter
- Cube MCP Server for querying the Cube semantic layer instead of Looker
- dbt MCP Server for dbt Semantic Layer access
- Community Looker MCP implementations such as ultrathink/looker-mcp-server and kokevidaurre/looker-admin-mcp for admin-focused workflows