Skip to main content
Glama

Looker Admin MCP

MCP server for Looker administration. Provides 60+ admin tools for user, group, role, schedule, alert, and content access management through the Model Context Protocol (MCP).

Note: This server focuses on administration tasks, complementing Google's MCP Toolbox for Databases which handles analytics and data querying.

Features

Category

Tools

Operations

User Management

9

CRUD, role assignment

Group Management

9

CRUD, membership

Role Management

11

Roles, permissions, model sets

Scheduled Plans

8

CRUD, run-once

Alerts

7

CRUD, follow/unfollow

Content Access

8

Folders, permissions

System

8

Sessions, user attributes

Safety

Destructive operations (delete_user, delete_group, delete_role, etc.) require confirm=True parameter to execute.

# Example: Delete a user
delete_user(user_id=123)                    # Returns warning, doesn't delete
delete_user(user_id=123, confirm=True)      # Actually deletes

Prerequisites

Quick Start

  1. Clone and setup:

    git clone <repository-url>
    cd looker-mcp
    uv venv && source .venv/bin/activate
    uv pip install -e .
  2. Configure credentials:

    cp .env.example .env
    # Edit .env with your Looker credentials
  3. Build Docker image:

    ./docker-build-run.sh build

MCP Client Configuration

Add to your client's MCP config (e.g., .cursor/mcp.json):

{
    "mcpServers": {
        "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"
            ]
        }
    }
}

Available Tools

User Management (9 tools)

  • looker_me - Get current authenticated user

  • list_users - List all users with pagination

  • search_users - Search by email, name, status

  • get_user - Get user details

  • create_user - Create new user

  • update_user - Update user info

  • delete_user - Delete user (requires confirm=True)

  • get_user_roles - Get user's roles

  • set_user_roles - Assign roles to user

Group Management (9 tools)

  • list_groups - List all groups

  • search_groups - Search groups by name

  • get_group - Get group details

  • create_group - Create new group

  • update_group - Rename group

  • delete_group - Delete group (requires confirm=True)

  • list_group_users - List members in group

  • add_user_to_group - Add user to group

  • remove_user_from_group - Remove user from group

Role Management (11 tools)

  • list_roles - List all roles

  • get_role - Get role details with permissions

  • create_role - Create new role

  • update_role - Update role

  • delete_role - Delete role (requires confirm=True)

  • list_permission_sets - List permission sets

  • get_permission_set - Get permission set details

  • list_model_sets - List model sets

  • get_model_set - Get model set details

  • create_model_set - Create new model set

  • list_role_users - List users with a role

Scheduled Plans (8 tools)

  • list_scheduled_plans - List all schedules

  • get_scheduled_plans_for_dashboard - Get dashboard schedules

  • get_scheduled_plans_for_look - Get look schedules

  • get_scheduled_plan - Get schedule details

  • create_scheduled_plan - Create new schedule

  • update_scheduled_plan - Update schedule

  • delete_scheduled_plan - Delete schedule (requires confirm=True)

  • run_scheduled_plan_once - Run schedule immediately

Alerts (7 tools)

  • search_alerts - Find alerts

  • get_alert - Get alert details

  • create_alert - Create new alert

  • update_alert - Update alert

  • delete_alert - Delete alert (requires confirm=True)

  • follow_alert - Subscribe to alert

  • unfollow_alert - Unsubscribe from alert

Content Access (8 tools)

  • list_folders - List folders

  • get_folder - Get folder details

  • get_folder_children - Get folder contents

  • get_folder_ancestors - Get folder hierarchy

  • search_folders - Search folders

  • get_content_metadata_access - Get permissions

  • update_content_metadata_access - Set permissions

  • get_content_access - Get detailed access rules

System Admin (8 tools)

  • list_user_sessions - List active sessions

  • delete_user_session - Kill session (requires confirm=True)

  • list_user_attributes - List user attributes

  • get_user_attribute - Get attribute details

  • get_user_attribute_values - Get user's attribute values

  • set_user_attribute_value - Set attribute value

  • get_api_versions - Get API versions

  • get_looker_version - Get Looker instance version

Project Structure

src/looker_admin_mcp/
├── client/
│   ├── sdk.py              # SDK initialization
│   └── models.py           # TypedDicts for responses
├── server/
│   ├── looker.py           # Main server + error handling
│   ├── main.py             # Entry point
│   └── transports.py       # Stdio/SSE transport
└── tools/
    ├── user.py             # User management (9 tools)
    ├── groups.py           # Group management (9 tools)
    ├── roles.py            # Role management (11 tools)
    ├── schedules.py        # Scheduled plans (8 tools)
    ├── alerts.py           # Alert management (7 tools)
    ├── content_access.py   # Folder/permissions (8 tools)
    └── system.py           # System admin (8 tools)

Environment Variables

LOOKERSDK_BASE_URL=https://your-looker-instance.com
LOOKERSDK_CLIENT_ID=your_client_id
LOOKERSDK_CLIENT_SECRET=your_client_secret
LOOKERSDK_VERIFY_SSL=true
LOOKERSDK_TIMEOUT=120  # Optional

Complementary Tools

This server handles administration. For analytics/data:

-
security - not tested
F
license - not found
-
quality - not tested

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/kokevidaurre/looker-admin-mcp'

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