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