Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOOKER_HOSTNoHTTP bind address0.0.0.0
LOOKER_PORTNoHTTP port8080
LOOKER_TIMEOUTNoHTTP request timeout in seconds60.0
LOOKER_BASE_URLYesBase URL of the Looker instance (required)
LOOKER_MAX_ROWSNoDefault maximum rows for query tools5000
LOOKER_MCP_MODENo`dev` (permissive), `public` (OAuth 2.1 resource-server), or `looker_oauth` (Looker-as-authorization-server)dev
LOOKER_CLIENT_IDNoAPI3 client ID for service account
LOOKER_LOG_LEVELNoLogging levelINFO
LOOKER_TRANSPORTNo`stdio` or `streamable-http`stdio
LOOKER_VERIFY_SSLNoVerify TLS certificatestrue
LOOKER_API_VERSIONNoLooker API version4.0
LOOKER_MCP_JWKS_URINoAuthorization server JWK Set URL (required when LOOKER_MCP_MODE=public)
LOOKER_SUDO_AS_USERNoEnable user impersonation when identity headers are presenttrue
LOOKER_CLIENT_SECRETNoAPI3 client secret for service account
LOOKER_MCP_AUTH_TOKENNoStatic bearer token for MCP-level authentication (deprecated)
LOOKER_MCP_ISSUER_URLNoExpected `iss` claim (required when LOOKER_MCP_MODE=public)
LOOKER_DEPLOYMENT_TYPENo`self_hosted` or `google_cloud_core`self_hosted
LOOKER_MCP_RESOURCE_URINoThis server's canonical URI for RFC 8707 audience binding (required when LOOKER_MCP_MODE=public or looker_oauth)
LOOKER_SUDO_ASSOCIATIVENoAttribute sudo activity to admin (true) or impersonated user (false)false
LOOKER_USER_EMAIL_HEADERNoHTTP header carrying user email for sudo impersonationX-User-Email
LOOKER_USER_TOKEN_HEADERNoHTTP header carrying pre-exchanged OAuth tokenX-User-Token

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_modelsA

List all LookML models accessible to the current user. Returns model names, labels, associated projects, and their explores.

get_modelA

Get detailed information about a specific LookML model, including all its explores and their descriptions.

get_exploreA

Get full details of an explore including all its dimensions, measures, filters, and parameters. This is the primary tool for understanding what fields are available for querying.

list_dimensionsB

List dimensions in an explore. Convenience tool that returns only the dimension fields (name, label, type, description).

list_measuresA

List measures in an explore. Convenience tool that returns only the measure fields (name, label, type, description).

list_connectionsA

List all database connections configured in the Looker instance.

queryA

Run a query using the Looker semantic model. Specify the model, explore, fields, filters, and sorts. Looker generates the optimized SQL — you never write SQL directly. Returns data rows as JSON.

query_sqlA

Generate the SQL that Looker would execute for a query, without actually running it. Useful for reviewing or debugging queries.

run_lookB

Run the query associated with a saved Look and return its results. Looks are pre-built query configurations saved in Looker.

run_queryA

Run an existing saved Looker Query by ID and return its results. Unlike query, this does not re-spec the query body — any settings baked into the saved Query (e.g. dynamic_fields / table calcs / vis config) are preserved. Useful for re-running a query whose ID you already have: a dashboard tile's query.id, the id returned by query_url, or an id surfaced by other Looker tooling.

run_dashboardA

Get a dashboard definition and run all its tile queries. Returns the dashboard metadata and the data for each element.

query_urlA

Generate a URL to a Looker Explore with pre-populated query parameters. The URL opens the Explore UI in Looker.

search_contentA

Search across all Looker content — dashboards, looks, explores, and more. Returns matching items with titles, descriptions, and IDs.

list_databasesB

List all databases accessible through a Looker connection.

list_schemasA

List schemas in a database accessible through a Looker connection.

list_tablesB

List tables in a schema accessible through a Looker connection.

list_columnsA

List columns for specific tables in a Looker connection. Returns column names, data types, and other metadata.

list_looksC

Search for saved Looks by title, description, or other criteria.

create_lookB

Create a new saved Look with a query definition. The Look is saved in the specified folder.

update_lookB

Update a Look's metadata (title, description, folder).

delete_lookA

Delete a saved Look. This action cannot be undone.

list_dashboardsC

Search for dashboards by title, description, or other criteria.

create_dashboardA

Create a new empty dashboard in the specified folder.

update_dashboardB

Update a dashboard's metadata (title, description, folder).

delete_dashboardB

Delete a dashboard. This action cannot be undone.

add_dashboard_elementA

Add a visualization tile to a dashboard. Requires a query definition (model, view, fields) or a saved Look ID.

add_dashboard_filterC

Add a filter to a dashboard.

generate_embed_urlA

Generate an embeddable SSO URL for Looker content (dashboards, Looks, or explores). The URL includes authentication so the viewer does not need separate Looker credentials.

validate_contentA

Run Looker's content validator across all looks and dashboards in the instance. Returns broken content references grouped by error kind (e.g. missing explore, renamed field, deleted model). Useful to audit breakage after a LookML change before users see errors. Can be slow on large instances.

health_pulseA

Run a health check on the Looker instance. Returns status of database connections, datagroups, and overall system health.

health_analyzeA

Analyze usage patterns across Looker content. Shows which models, explores, and content are most and least used.

health_vacuumA

Identify unused or orphaned LookML objects for cleanup. Scans for explores with no content, unreferenced views, and Looks/dashboards with zero views.

whoamiA

Return the Looker user this MCP session is currently authenticated as. Calls GET /user, which Looker resolves against the active session token — so when the session is sudo-impersonating another user (per-call act_as_user or X-User-Token header), the impersonated user's record is returned. Useful when the same Looker instance has multiple similarly-named users and you need to confirm which one the MCP is operating as.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ultrathink-Solutions/looker-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server