> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Looker

**Authentication:** API credentials. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow.

## Sample use cases

* Pull yesterday's revenue from the `Daily KPIs` look and post in #leadership.
* List Looks shared externally in the last 30 days for a security review.
* Find dashboards with no views in the last 60 days.

## Available Tools

#### create_alert

Create a Looker alert with comparison type, field, threshold, and optional destinations. Monitors dashboard elements ...

#### get_alert

Get a Looker alert by ID. Returns comparison type, threshold, field, and notification settings.

#### update_alert

Update a Looker alert threshold or enabled status. Use is_disabled to enable or disable.

#### delete_alert

Delete a Looker alert by ID. This stops all future notifications.

#### search_alerts

Search Looker alerts with offset pagination. Returns matching alerts.

#### list_boards

List Looker boards with offset pagination. Returns board titles, descriptions, and metadata.

#### search_boards

Search Looker boards by title, creator, or favorites. Title filter uses substring matching by default. Include % in y...

#### create_board

Create a Looker board with title and description. Boards organize looks and dashboards into collections.

#### get_board

Get a Looker board by ID. Returns title, description, sections, and items.

#### update_board

Update a Looker board title or description. Use get_board to verify changes.

#### delete_board

Delete a Looker board by ID. This action is permanent. Use get_board to verify before deleting.

#### get_all_board_sections

Get all board sections across all boards. Use get_board to get sections for a specific board.

#### create_board_section

Create a section within a Looker board. Sections group board items. Use list_boards to find board IDs.

#### get_board_section

Get a Looker board section by ID. Returns section title, description, and items.

#### update_board_section

Update a Looker board section title or description. Use get_board_section to verify changes.

#### delete_board_section

Delete a Looker board section by ID. This action is permanent and removes all items in the section.

#### get_all_board_items

Get all board items across all sections. Use get_board or get_board_section to get items for a specific board/section.

#### create_board_item

Add an item to a board section. Link a dashboard, look, or custom URL. Use get_all_board_sections to find section IDs.

#### get_board_item

Get a Looker board item by ID. Returns linked dashboard/look info and custom fields.

#### update_board_item

Update a Looker board item. Change linked dashboard/look or custom title/description/URL.

#### delete_board_item

Delete a Looker board item by ID. This removes the item from its section permanently.

#### list_connections

List Looker database connections. Requires admin permissions. Returns connection names, dialects, and hosts.

#### create_connection

Create a Looker database connection. Requires admin permissions. Specify name, dialect, host, port, database, and cre...

#### get_connection

Get a Looker database connection by name. Requires admin permissions. Use list_connections to find valid names.

#### update_connection

Update a Looker database connection host, port, database, or credentials. Requires admin permissions.

#### delete_connection

Delete a Looker database connection by name. This action is permanent. Requires admin permissions.

#### list_dashboard_elements

List all elements (tiles) on a Looker dashboard. Returns element titles, types, and query IDs.

#### create_dashboard_element

Create a dashboard element (tile). Specify dashboard_id, type ('vis', 'text'), and query_id or body_text. Use create\_...

#### get_dashboard_element

Get a dashboard element by ID. Returns title, type, query, and display settings.

#### update_dashboard_element

Update a dashboard element title, text, query, or display settings.

#### delete_dashboard_element

Delete a dashboard element by ID. This removes the tile from the dashboard.

#### list_dashboard_filters

List all filters on a Looker dashboard. Returns filter names, types, and default values.

#### create_dashboard_filter

Create a dashboard filter. Requires dashboard_id, name, title, and type ('date_filter', 'number_filter', 'string_filt...

#### get_dashboard_filter

Get a dashboard filter by ID. Returns name, type, default value, and configuration.

#### update_dashboard_filter

Update a dashboard filter name, title, type, default value, or required setting.

#### delete_dashboard_filter

Delete a dashboard filter by ID. This removes the filter from the dashboard.

#### list_dashboard_layout_components

List all layout components for a dashboard layout. Returns element positions (row, column, width, height).

#### get_dashboard_layout_component

Get a dashboard layout component by ID. Returns element ID and position (row, column, width, height).

#### update_dashboard_layout_component

Update a dashboard layout component position. Set row, column, width, and height to arrange tiles on the dashboard.

#### list_dashboard_layouts

List all layouts for a Looker dashboard. Returns layout types, active status, and dimensions.

#### create_dashboard_layout

Create a dashboard layout. Specify dashboard_id, type, and dimensions.

#### get_dashboard_layout

Get a dashboard layout by ID. Returns type, active status, and dimensions.

#### update_dashboard_layout

Update a dashboard layout active status or dimensions.

#### delete_dashboard_layout

Delete a dashboard layout by ID.

#### list_dashboards

List Looker dashboards with offset pagination. Returns titles, IDs, and metadata. Use offset from page_info for next ...

#### create_dashboard

Create a Looker dashboard with title, description, and folder. Use list_folders to find valid folder IDs.

#### get_dashboard

Get a Looker dashboard by ID. Returns title, elements, filters, and metadata. Use list_dashboards or search_dashboard...

#### update_dashboard

Update a Looker dashboard title, description, folder, timezone, refresh interval, or visibility. Use get_dashboard to...

#### delete_dashboard

Delete a Looker dashboard by ID. This action is permanent. Use get_dashboard to verify before deleting.

#### copy_dashboard

Copy a Looker dashboard to a different folder. Returns the new dashboard. Use list_folders to find valid folder IDs.

#### move_dashboard

Move a Looker dashboard to a different folder. Use list_folders to find valid folder IDs.

#### search_dashboards

Search Looker dashboards by title or folder. Text filters use substring matching by default. Include % in your value ...

#### list_folders

List Looker folders with offset pagination. Returns folder names, IDs, and hierarchy. Use offset from page_info for n...

#### create_folder

Create a Looker folder with name and parent folder. Use list_folders to find valid parent folder IDs.

#### get_folder

Get a Looker folder by ID. Returns name, parent, child count, and metadata.

#### update_folder

Update a Looker folder name. Use get_folder to verify changes.

#### delete_folder

Delete a Looker folder by ID. This action is permanent. Use get_folder to verify before deleting.

#### search_folders

Search Looker folders by name or parent. Text filters use substring matching by default. Include % in your value for ...

#### get_folder_children

Get child folders of a Looker folder. Returns sub-folders with pagination.

#### get_folder_looks

Get all looks in a Looker folder. Returns looks with their titles, IDs, and metadata.

#### get_folder_dashboards

Get all dashboards in a Looker folder. Returns dashboards with their titles, IDs, and metadata.

#### list_groups

List Looker groups with offset pagination. Requires admin permissions. Returns group names and user counts.

#### create_group

Create a Looker group with name and optional parent group. Requires admin permissions.

#### get_group

Get a Looker group by ID. Requires admin permissions. Returns name, user count, and metadata.

#### update_group

Update a Looker group name or content metadata access. Requires admin permissions. Use get_group to verify changes.

#### delete_group

Delete a Looker group by ID. This action is permanent. Requires admin permissions.

#### search_groups

Search Looker groups by name, external group ID, or management flags. Supports sorting and pagination. Requires admin...

#### search_groups_with_roles

Search Looker groups and include role information in results. Filter by name, external group ID, or management flags....

#### search_groups_with_hierarchy

Search Looker groups and include parent group hierarchy in results. Filter by name, external group ID, or management ...

#### get_groups_in_group

Get all groups that are members of a Looker group. Supports sorting. Requires admin permissions. Use list_groups to f...

#### add_group_to_group

Add a group as a member of another Looker group. Requires admin permissions. Use list_groups to find valid group IDs.

#### delete_group_from_group

Remove a member group from a Looker group. This action is permanent. Requires admin permissions.

#### get_users_in_group

Get all users in a Looker group with pagination. Supports sorting. Requires admin permissions. Use list_groups to fin...

#### add_user_to_group

Add a user to a Looker group. Requires admin permissions. Use list_users to find valid user IDs and list_groups for g...

#### remove_user_from_group

Remove a user from a Looker group. This action is permanent. Requires admin permissions.

#### set_user_attribute_group_value

Set the value of a user attribute for a Looker group. Requires admin permissions. Use list_groups and list user attri...

#### delete_user_attribute_group_value

Delete a group-level user attribute value in Looker. This action is permanent. Requires admin permissions.

#### list_looks

List Looker looks with offset pagination. Returns titles, IDs, and metadata. Use offset from page_info for next page.

#### create_look

Create a Looker look with title, description, folder, and query. Use list_folders to find valid folder IDs. Use creat...

#### get_look

Get a Looker look by ID. Returns title, description, query details, and metadata. Use list_looks or search_looks to f...

#### update_look

Update a Looker look title, description, folder, query, visibility, or owner. Use get_look to verify changes.

#### delete_look

Delete a Looker look by ID. This action is permanent. Use get_look to verify before deleting.

#### copy_look

Copy a Looker look to a different folder. Returns the new look. Use list_folders to find valid folder IDs.

#### move_look

Move a Looker look to a different folder. Use list_folders to find valid folder IDs.

#### run_look

Run a Looker look and return results. Supports json, csv, and other formats. Use list_looks to find valid IDs.

#### search_looks

Search Looker looks by title, description, or folder. Text filters use substring matching by default. Include % in yo...

#### import_lookml_dashboard

Import a LookML dashboard into a folder as a user-defined dashboard. The imported dashboard will be linked to the Loo...

#### sync_lookml_dashboard

Sync all linked user-defined dashboards to match a LookML dashboard. Updates elements, filters, and layout to match t...

#### search_lookml_dashboards

Search LookML dashboards in production. Filter by title (supports % wildcards) or folder. Returns dashboard IDs and L...

#### import_dashboard_from_lookml

Create a dashboard from LookML YAML code. The dashboard is NOT linked to any LookML dashboard. Provide valid LookML Y...

#### get_dashboard_lookml

Get the LookML YAML representation of a user-defined dashboard. Useful for exporting or duplicating dashboards via Lo...

#### get_dashboard_aggregate_table_lookml

Get aggregate table LookML for each query on a dashboard. Useful for optimizing dashboard performance with persistent...

#### list_lookml_models

List available LookML models and their explores. Use model names with create_query or run_inline_query to build queries.

#### create_lookml_model

Create a LookML model with a name, project, and database connections. Use list_connections to find valid connection n...

#### get_lookml_model

Get a LookML model by name. Returns explores, project, and label. Use list_lookml_models to find valid names.

#### update_lookml_model

Update a LookML model's project or database connections. Use list_lookml_models to find valid names.

#### delete_lookml_model

Delete a LookML model by name. This action is permanent. Use get_lookml_model to verify before deleting.

#### get_lookml_explore

Get a LookML explore with its dimensions, measures, and relationships. Use get_lookml_model to find valid explore names.

#### create_query

Create a Looker query with model, view, fields, filters, and sorts. Use list_lookml_models to find valid model names....

#### get_query

Get a Looker query definition by ID. Returns model, view, fields, filters, and sorts.

#### get_query_by_slug

Get a Looker query by its slug identifier (found in Looker URLs). Returns the full query definition.

#### run_query

Run a saved Looker query and return results. Use create_query first to get an ID. Supports json, csv, and other formats.

#### run_inline_query

Run an inline Looker query without saving it. Specify model, view, fields, filters, and sorts directly. Use list_look...

#### create_query_task

Run a Looker query asynchronously. Returns a task ID to check status with get_query_task and fetch results with get_q...

#### get_query_task

Check the status of an async Looker query task. Returns status (pending, running, complete, error). Use create_query\_...

#### get_query_task_results

Get results of a completed async Looker query task. Task must have status 'complete'. Use get_query_task to check sta...

#### get_query_task_multi_results

Get results of multiple completed async Looker query tasks at once. All tasks must be complete. Pass a list of task IDs.

#### create_merge_query

Create a merge query that combines results from multiple Looker queries. Each source query needs a query_id and optio...

#### get_merge_query

Get a Looker merge query definition by ID. Returns source queries and merge configuration.

#### list_running_queries

List all currently running Looker queries. Shows query ID, user, runtime, and status. Useful for monitoring and ident...

#### kill_query

Terminate a running Looker query by its task ID. Use list_running_queries to find task IDs of queries to kill.

#### create_sql_query

Create a SQL Runner query with raw SQL. Specify connection_name OR model_name (mutually exclusive). Use list_connecti...

#### get_sql_query

Get a SQL Runner query by its slug. Returns the SQL text and connection details.

#### run_sql_query

Execute a SQL Runner query and return results. Use create_sql_query first to get a slug. Supports json, csv, and othe...

#### list_roles

List Looker roles. Requires admin permissions. Returns role names, permission sets, and model sets.

#### create_role

Create a Looker role with name, permission set, and model set. Requires admin permissions.

#### get_role

Get a Looker role by ID. Requires admin permissions. Use list_roles to find valid IDs.

#### update_role

Update a Looker role name, permission set, or model set. Requires admin permissions.

#### delete_role

Delete a Looker role by ID. This action is permanent. Requires admin permissions.

#### search_roles

Search Looker roles by name with pagination. Requires admin permissions. Use offset from page_info for next page.

#### search_roles_with_user_count

Search Looker roles by name, including user count per role. Requires admin permissions. Use offset from page_info for...

#### get_role_users

Get all users assigned to a Looker role. Supports pagination. Use direct_association_only to exclude users assigned v...

#### set_role_users

Set users for a Looker role. Replaces all current user assignments. Requires admin permissions. Use list_users to fin...

#### get_role_groups

Get all groups assigned to a Looker role. Requires admin permissions. Use list_roles to find valid role IDs.

#### set_role_groups

Set groups for a Looker role. Replaces all current group assignments. Requires admin permissions. Use list_groups to ...

#### create_permission_set

Create a Looker permission set with name and permissions. Use list_permissions to see available permissions.

#### list_permission_sets

List all Looker permission sets. Returns names and permissions for each set. Requires admin permissions.

#### get_permission_set

Get a Looker permission set by ID. Returns permissions in the set. Use list_permission_sets to find valid IDs.

#### update_permission_set

Update a Looker permission set name or permissions. Requires admin permissions. Use list_permissions to see available...

#### delete_permission_set

Delete a Looker permission set by ID. This action is permanent. Requires admin permissions.

#### create_model_set

Create a Looker model set with name and models. Use list_lookml_models to see available models.

#### list_model_sets

List all Looker model sets. Returns names and models for each set. Requires admin permissions.

#### get_model_set

Get a Looker model set by ID. Returns models in the set. Use list_model_sets to find valid IDs.

#### update_model_set

Update a Looker model set name or models. Requires admin permissions. Use list_lookml_models to see available models.

#### delete_model_set

Delete a Looker model set by ID. This action is permanent. Requires admin permissions.

#### list_permissions

List all available Looker permissions. Useful to see what permissions exist before creating permission sets.

#### list_scheduled_plans

List Looker scheduled plans with offset pagination. Returns schedule names, cron expressions, and associated content.

#### create_scheduled_plan

Create a Looker scheduled plan to deliver look or dashboard results on a schedule. Provide look_id or dashboard_id, c...

#### get_scheduled_plan

Get a Looker scheduled plan by ID. Returns name, schedule, destinations, and status.

#### update_scheduled_plan

Update a Looker scheduled plan name, cron expression, or enabled status.

#### delete_scheduled_plan

Delete a Looker scheduled plan by ID. This stops all future deliveries.

#### list_users

List Looker users with offset pagination. Requires admin permissions. Use offset from page_info for next page.

#### create_user

Create a Looker user. Requires admin permissions. Optionally assign roles with role_ids. Use list_roles to find valid...

#### get_user

Get a Looker user by ID. Returns name, email, roles, and status. Requires admin permissions. Use list_users or search...

#### update_user

Update a Looker user's name, email, roles, or status. Requires admin permissions. Use get_user to verify changes.

#### delete_user

Delete a Looker user by ID. This action is permanent. Requires admin permissions.

#### search_users

Search Looker users by email, first name, last name, disabled status, or group. Text filters use substring matching b...

#### get_current_user

Get the currently authenticated Looker user. Returns your name, email, roles, and permissions.

#### search_users_names

Search Looker users by name or email pattern. Simpler than search_users for quick lookups. Requires admin permissions.

#### get_user_roles

Get roles assigned to a Looker user. Requires admin permissions. Use list_users or search_users to find valid user IDs.

#### set_user_roles

Set roles for a Looker user. Replaces all current roles. Requires admin permissions. Use list_roles to find valid rol...

#### get_user_attribute_values

Get all user attribute values for a Looker user. Returns attribute values with their source (User, Group, or Default).

#### set_user_attribute_user_value

Set a user attribute value for a Looker user. Overrides group or default values. Use get_user_attribute_values to see...

#### delete_user_attribute_user_value

Remove a user-level attribute value override for a Looker user. The attribute will fall back to group or default value.

#### send_user_credentials_email_password_reset

Send a password reset email to a Looker user. The user must have email credentials configured.

#### create_user_credentials_email

Create email credentials for a Looker user. Required before the user can log in with email/password.

#### get_user_credentials_email

Get email credentials for a Looker user. Returns email address and login status.

#### delete_user_credentials_email

Delete email credentials for a Looker user. The user will no longer be able to log in with email/password.

#### list_workspaces

List all Looker workspaces (production and dev). Returns workspace IDs and their associated projects.

#### get_workspace

Get a Looker workspace by ID ('production' or 'dev'). Returns workspace details and associated projects.

#### get_session

Get the current API session. Returns the active workspace ID ('production' or 'dev') and sudo user if impersonating.

#### update_session_workspace

Switch the API session workspace to 'production' or 'dev'. Affects which LookML content is used for subsequent API ca...