home / mcp / looker admin mcp server

Looker Admin MCP Server

Provides admin tooling to manage users, groups, roles, schedules, alerts, and content access via MCP.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "kokevidaurre-looker-admin-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MCP_MODE=stdio",
        "-e",
        "LOOKERSDK_BASE_URL=${.env:LOOKERSDK_BASE_URL}",
        "-e",
        "LOOKERSDK_CLIENT_ID=${.env:LOOKERSDK_CLIENT_ID}",
        "-e",
        "LOOKERSDK_CLIENT_SECRET=${.env:LOOKERSDK_CLIENT_SECRET}",
        "-e",
        "LOOKERSDK_VERIFY_SSL=${.env:LOOKERSDK_VERIFY_SSL}",
        "looker-mcp:latest"
      ],
      "env": {
        "MCP_MODE": "stdio",
        "LOOKERSDK_TIMEOUT": "<LOOKERSDK_TIMEOUT>",
        "LOOKERSDK_BASE_URL": "${.env:LOOKERSDK_BASE_URL}",
        "LOOKERSDK_CLIENT_ID": "${.env:LOOKERSDK_CLIENT_ID}",
        "LOOKERSDK_VERIFY_SSL": "${.env:LOOKERSDK_VERIFY_SSL}",
        "LOOKERSDK_CLIENT_SECRET": "${.env:LOOKERSDK_CLIENT_SECRET}"
      }
    }
  }
}

You can manage Looker administration through a dedicated MCP server that exposes 60+ admin tools for users, groups, roles, schedules, alerts, and content access. This server is designed to simplify governance tasks while complementing data analytics tooling.

How to use

You interact with the server through an MCP client that connects using the provided command transport. The server runs in stdio mode inside a Docker container. You will typically start the server in a workflow where you first build and run the container, then connect your MCP client to it to perform administration tasks across users, groups, roles, schedules, alerts, and content permissions.

How to install

Prerequisites you need before installation include Python 3.11 or newer, a Python package manager, and Docker Desktop installed locally.

Step 1: Set up your development environment by creating a virtual environment and installing the MCP package.

Step 2: Build the Docker image that runs the MCP server.

Step 3: Configure credentials for Looker access and ensure the Looker SDK environment variables are available to the container.

Configuration and running the MCP server

To run the MCP server in stdio mode via Docker, use the following command configuration. This starts a container that exposes the MCP in stdio mode and passes necessary Looker SDK credentials and SSL verification settings.

{
  "type": "stdio",
  "name": "looker_admin",
  "command": "docker",
  "args": [
    "run", "--rm", "-i",
    "-e", "MCP_MODE=stdio",
    "-e", "LOOKERSDK_BASE_URL=${.env:LOOKERSDK_BASE_URL}",
    "-e", "LOOKERSDK_CLIENT_ID=${.env:LOOKERSDK_CLIENT_ID}",
    "-e", "LOOKERSDK_CLIENT_SECRET=${.env:LOOKERSDK_CLIENT_SECRET}",
    "-e", "LOOKERSDK_VERIFY_SSL=${.env:LOOKERSDK_VERIFY_SSL}",
    "looker-mcp:latest"
  ]
}

Safety and permissions

Destructive operations such as deleting users, groups, or roles require explicit confirmation. Include confirm=True to proceed with such actions. For example, deleting a user can be attempted first to display a warning, and then executed with confirmation.

Available tools

looker_me

Get information about the currently authenticated Looker user.

list_users

List all users with pagination support.

search_users

Search users by email, name, or status.

get_user

Retrieve details for a specific user.

create_user

Create a new user in Looker.

update_user

Update information for an existing user.

delete_user

Delete a user (requires confirm=True).

get_user_roles

Fetch roles assigned to a user.

set_user_roles

Assign roles to a user.

list_groups

List all groups.

search_groups

Search groups by name.

get_group

Get details of a specific group.

create_group

Create a new group.

update_group

Rename or update a group.

delete_group

Delete a group (requires confirm=True).

list_group_users

List members of a group.

add_user_to_group

Add a user to a group.

remove_user_from_group

Remove a user from a group.

list_roles

List all roles.

get_role

Get role details and permissions.

create_role

Create a new role.

update_role

Update an existing role.

delete_role

Delete a role (requires confirm=True).

list_permission_sets

List available permission sets.

get_permission_set

Get details of a permission set.

list_model_sets

List model sets.

get_model_set

Get details of a model set.

create_model_set

Create a new model set.

list_role_users

List users that have a specific role.

list_scheduled_plans

List all scheduled plans.

get_scheduled_plans_for_dashboard

Get schedules for dashboards.

get_scheduled_plans_for_look

Get schedules for looks.

get_scheduled_plan

Get details of a schedule.

create_scheduled_plan

Create a new scheduled plan.

update_scheduled_plan

Update an existing scheduled plan.

delete_scheduled_plan

Delete a scheduled plan (requires confirm=True).

run_scheduled_plan_once

Run a scheduled plan immediately.

search_alerts

Find alerts by criteria.

get_alert

Get alert details.

create_alert

Create a new alert.

update_alert

Update an alert.

delete_alert

Delete an alert (requires confirm=True).

follow_alert

Subscribe to an alert.

unfollow_alert

Unsubscribe from an alert.

list_folders

List folders in content access.

get_folder

Get details of a folder.

get_folder_children

Get contents of a folder.

get_folder_ancestors

Get folder hierarchy.

search_folders

Search folders by criteria.

get_content_metadata_access

Get folder/content permissions.

update_content_metadata_access

Set permissions for content access.

get_content_access

Get detailed content access rules.

list_user_sessions

List active user sessions.

delete_user_session

Kill a user session (requires confirm=True).

list_user_attributes

List user attributes.

get_user_attribute

Get a specific user attribute.

get_user_attribute_values

Get values for a user attribute.

set_user_attribute_value

Set a value for a user attribute.

get_api_versions

Get available API versions.

get_looker_version

Get Looker instance version.