e04ed9c211
CF: Deploy Dev Docs / deploy (push) Has been cancelled
Sync Labels / build (push) Has been cancelled
tests / unit tests (macos-latest) (push) Has been cancelled
tests / unit tests (windows-latest) (push) Has been cancelled
tests / unit tests (ubuntu-latest) (push) Has been cancelled
496 lines
18 KiB
YAML
496 lines
18 KiB
YAML
# Copyright 2026 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
kind: source
|
|
name: looker-source
|
|
type: looker
|
|
base_url: ${LOOKER_BASE_URL}
|
|
client_id: ${LOOKER_CLIENT_ID:}
|
|
client_secret: ${LOOKER_CLIENT_SECRET:}
|
|
verify_ssl: ${LOOKER_VERIFY_SSL:true}
|
|
timeout: 600s
|
|
use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
|
|
show_hidden_models: ${LOOKER_SHOW_HIDDEN_MODELS:true}
|
|
show_hidden_explores: ${LOOKER_SHOW_HIDDEN_EXPLORES:true}
|
|
show_hidden_fields: ${LOOKER_SHOW_HIDDEN_FIELDS:true}
|
|
---
|
|
kind: tool
|
|
name: health_pulse
|
|
type: looker-health-pulse
|
|
source: looker-source
|
|
description: |
|
|
This tool performs various health checks on a Looker instance.
|
|
|
|
Parameters:
|
|
- action (required): Specifies the type of health check to perform.
|
|
Choose one of the following:
|
|
- `check_db_connections`: Verifies database connectivity.
|
|
- `check_dashboard_performance`: Assesses dashboard loading performance.
|
|
- `check_dashboard_errors`: Identifies errors within dashboards.
|
|
- `check_explore_performance`: Evaluates explore query performance.
|
|
- `check_schedule_failures`: Reports on failed scheduled deliveries.
|
|
- `check_legacy_features`: Checks for the usage of legacy features.
|
|
|
|
Note on `check_legacy_features`:
|
|
This action is exclusively available in Looker Core instances. If invoked
|
|
on a non-Looker Core instance, it will return a notice rather than an error.
|
|
This notice should be considered normal behavior and not an indication of an issue.
|
|
---
|
|
kind: tool
|
|
name: health_analyze
|
|
type: looker-health-analyze
|
|
source: looker-source
|
|
description: |
|
|
This tool calculates the usage statistics for Looker projects, models, and explores.
|
|
|
|
Parameters:
|
|
- action (required): The type of resource to analyze. Can be `"projects"`, `"models"`, or `"explores"`.
|
|
- project (optional): The specific project ID to analyze.
|
|
- model (optional): The specific model name to analyze. Requires `project` if used without `explore`.
|
|
- explore (optional): The specific explore name to analyze. Requires `model` if used.
|
|
- timeframe (optional): The lookback period in days for usage data. Defaults to `90` days.
|
|
- min_queries (optional): The minimum number of queries for a resource to be considered active. Defaults to `1`.
|
|
|
|
Output:
|
|
The result is a JSON object containing usage metrics for the specified resources.
|
|
---
|
|
kind: tool
|
|
name: health_vacuum
|
|
type: looker-health-vacuum
|
|
source: looker-source
|
|
description: |
|
|
This tool identifies and suggests LookML models or explores that can be
|
|
safely removed due to inactivity or low usage.
|
|
|
|
Parameters:
|
|
- action (required): The type of resource to analyze for removal candidates. Can be `"models"` or `"explores"`.
|
|
- project (optional): The specific project ID to consider.
|
|
- model (optional): The specific model name to consider. Requires `project` if used without `explore`.
|
|
- explore (optional): The specific explore name to consider. Requires `model` if used.
|
|
- timeframe (optional): The lookback period in days to assess usage. Defaults to `90` days.
|
|
- min_queries (optional): The minimum number of queries for a resource to be considered active. Defaults to `1`.
|
|
|
|
Output:
|
|
A JSON array of objects, each representing a model or explore that is a candidate for deletion due to low usage.
|
|
---
|
|
kind: tool
|
|
name: dev_mode
|
|
type: looker-dev-mode
|
|
source: looker-source
|
|
description: |
|
|
This tool allows toggling the Looker IDE session between Development Mode and Production Mode.
|
|
Development Mode enables making and testing changes to LookML projects.
|
|
|
|
Parameters:
|
|
- enable (required): A boolean value.
|
|
- `true`: Switches the current session to Development Mode.
|
|
- `false`: Switches the current session to Production Mode.
|
|
---
|
|
kind: tool
|
|
name: get_projects
|
|
type: looker-get-projects
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of all LookML projects available on the Looker instance.
|
|
It is useful for identifying projects before performing actions like retrieving
|
|
project files or making modifications.
|
|
|
|
Parameters:
|
|
This tool takes no parameters.
|
|
|
|
Output:
|
|
A JSON array of objects, each containing the `project_id` and `project_name`
|
|
for a LookML project.
|
|
---
|
|
kind: tool
|
|
name: get_project_files
|
|
type: looker-get-project-files
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of all LookML files within a specified project,
|
|
providing details about each file.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project, obtained from `get_projects`.
|
|
|
|
Output:
|
|
A JSON array of objects, each representing a LookML file and containing
|
|
details such as `path`, `id`, `type`, and `git_status`.
|
|
---
|
|
kind: tool
|
|
name: get_project_file
|
|
type: looker-get-project-file
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves the raw content of a specific LookML file from within a project.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project, obtained from `get_projects`.
|
|
- file_path (required): The path to the LookML file within the project,
|
|
typically obtained from `get_project_files`.
|
|
|
|
Output:
|
|
The raw text content of the specified LookML file.
|
|
---
|
|
kind: tool
|
|
name: create_project_file
|
|
type: looker-create-project-file
|
|
source: looker-source
|
|
description: |
|
|
This tool creates a new LookML file within a specified project, populating
|
|
it with the provided content.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- file_path (required): The desired path and filename for the new file within the project.
|
|
- content (required): The full LookML content to write into the new file.
|
|
|
|
Output:
|
|
A confirmation message upon successful file creation.
|
|
---
|
|
kind: tool
|
|
name: update_project_file
|
|
type: looker-update-project-file
|
|
source: looker-source
|
|
description: |
|
|
This tool modifies the content of an existing LookML file within a specified project.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- file_path (required): The exact path to the LookML file to modify within the project.
|
|
- content (required): The new, complete LookML content to overwrite the existing file.
|
|
|
|
Output:
|
|
A confirmation message upon successful file modification.
|
|
---
|
|
kind: tool
|
|
name: delete_project_file
|
|
type: looker-delete-project-file
|
|
source: looker-source
|
|
description: |
|
|
This tool permanently deletes a specified LookML file from within a project.
|
|
Use with caution, as this action cannot be undone through the API.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- file_path (required): The exact path to the LookML file to delete within the project.
|
|
|
|
Output:
|
|
A confirmation message upon successful file deletion.
|
|
---
|
|
kind: tool
|
|
name: get_project_directories
|
|
type: looker-get-project-directories
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves the list of directories within a specified LookML project.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
|
|
Output:
|
|
A JSON array of strings, where each string is the name of a directory within the project.
|
|
---
|
|
kind: tool
|
|
name: create_project_directory
|
|
type: looker-create-project-directory
|
|
source: looker-source
|
|
description: |
|
|
This tool creates a new directory within a specified LookML project.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- directory_path (required): The path to the new directory within the project.
|
|
|
|
Output:
|
|
A confirmation message upon successful directory creation.
|
|
---
|
|
kind: tool
|
|
name: delete_project_directory
|
|
type: looker-delete-project-directory
|
|
source: looker-source
|
|
description: |
|
|
This tool permanently deletes a specified directory within a LookML project.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- directory_path (required): The path to the directory within the project.
|
|
|
|
Output:
|
|
A confirmation message upon successful directory deletion.
|
|
---
|
|
kind: tool
|
|
name: validate_project
|
|
type: looker-validate-project
|
|
source: looker-source
|
|
description: |
|
|
This tool checks a LookML project for syntax errors.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
|
|
Output:
|
|
A list of error details including the file path and line number, and also a list of models
|
|
that are not currently valid due to LookML errors.
|
|
---
|
|
kind: tool
|
|
name: get_connections
|
|
type: looker-get-connections
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of all database connections configured in the Looker system.
|
|
|
|
Parameters:
|
|
This tool takes no parameters.
|
|
|
|
Output:
|
|
A JSON array of objects, each representing a database connection and including details such as:
|
|
- `name`: The connection's unique identifier.
|
|
- `dialect`: The database dialect (e.g., "mysql", "postgresql", "bigquery").
|
|
- `default_schema`: The default schema for the connection.
|
|
- `database`: The associated database name (if applicable).
|
|
- `supports_multiple_databases`: A boolean indicating if the connection can access multiple databases.
|
|
---
|
|
kind: tool
|
|
name: get_connection_schemas
|
|
type: looker-get-connection-schemas
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of database schemas available through a specified
|
|
Looker connection.
|
|
|
|
Parameters:
|
|
- connection_name (required): The name of the database connection, obtained from `get_connections`.
|
|
- database (optional): An optional database name to filter the schemas.
|
|
Only applicable for connections that support multiple databases.
|
|
|
|
Output:
|
|
A JSON array of strings, where each string is the name of an available schema.
|
|
---
|
|
kind: tool
|
|
name: get_connection_databases
|
|
type: looker-get-connection-databases
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of databases available through a specified Looker connection.
|
|
This is only applicable for connections that support multiple databases.
|
|
Use `get_connections` to check if a connection supports multiple databases.
|
|
|
|
Parameters:
|
|
- connection_name (required): The name of the database connection, obtained from `get_connections`.
|
|
|
|
Output:
|
|
A JSON array of strings, where each string is the name of an available database.
|
|
If the connection does not support multiple databases, an empty list or an error will be returned.
|
|
---
|
|
kind: tool
|
|
name: get_connection_tables
|
|
type: looker-get-connection-tables
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of tables available within a specified database schema
|
|
through a Looker connection.
|
|
|
|
Parameters:
|
|
- connection_name (required): The name of the database connection, obtained from `get_connections`.
|
|
- schema (required): The name of the schema to list tables from, obtained from `get_connection_schemas`.
|
|
- database (optional): The name of the database to filter by. Only applicable for connections
|
|
that support multiple databases (check with `get_connections`).
|
|
|
|
Output:
|
|
A JSON array of strings, where each string is the name of an available table.
|
|
---
|
|
kind: tool
|
|
name: get_connection_table_columns
|
|
type: looker-get-connection-table-columns
|
|
source: looker-source
|
|
description: |
|
|
This tool retrieves a list of columns for one or more specified tables within a
|
|
given database schema and connection.
|
|
|
|
Parameters:
|
|
- connection_name (required): The name of the database connection, obtained from `get_connections`.
|
|
- schema (required): The name of the schema where the tables reside, obtained from `get_connection_schemas`.
|
|
- tables (required): A comma-separated string of table names for which to retrieve columns
|
|
(e.g., "users,orders,products"), obtained from `get_connection_tables`.
|
|
- database (optional): The name of the database to filter by. Only applicable for connections
|
|
that support multiple databases (check with `get_connections`).
|
|
|
|
Output:
|
|
A JSON array of objects, where each object represents a column and contains details
|
|
such as `table_name`, `column_name`, `data_type`, and `is_nullable`.
|
|
---
|
|
kind: tool
|
|
name: get_lookml_tests
|
|
type: looker-get-lookml-tests
|
|
source: looker-source
|
|
description: |
|
|
Returns a list of tests which can be run to validate a project's LookML code and/or the underlying data, optionally filtered by the file id.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- file_id (optional): The ID of the file to filter tests by. This must be the complete file path from the project root (e.g., `models/my_model.model.lkml` or `views/my_view.view.lkml`).
|
|
|
|
Output:
|
|
A JSON array of LookML test objects, each containing:
|
|
- model_name: The name of the model.
|
|
- name: The name of the test.
|
|
- explore_name: The name of the explore being tested.
|
|
- query_url_params: The query parameters used for the test.
|
|
- file: The file path where the test is defined.
|
|
- line: The line number where the test is defined.
|
|
---
|
|
kind: tool
|
|
name: run_lookml_tests
|
|
type: looker-run-lookml-tests
|
|
source: looker-source
|
|
description: |
|
|
This tool runs LookML tests in the project, filtered by file, test, and/or model. These filters work in conjunction (logical AND).
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the project to run LookML tests for.
|
|
- file_id (optional): The ID of the file to run tests for. This must be the complete file path from the project root (e.g., `models/my_model.model.lkml` or `views/my_view.view.lkml`).
|
|
- test (optional): The name of the test to run.
|
|
- model (optional): The name of the model to run tests for.
|
|
|
|
Output:
|
|
A JSON array containing the results of the executed tests, where each object includes:
|
|
- model_name: Name of the model tested.
|
|
- test_name: Name of the test.
|
|
- assertions_count: Total number of assertions in the test.
|
|
- assertions_failed: Number of assertions that failed.
|
|
- success: Boolean indicating if the test passed.
|
|
- errors: Array of error objects (if any), containing details like `message`, `file_path`, `line_number`, and `severity`.
|
|
- warnings: Array of warning messages (if any).
|
|
---
|
|
kind: tool
|
|
name: create_view_from_table
|
|
type: looker-create-view-from-table
|
|
source: looker-source
|
|
description: |
|
|
This tool generates boilerplate LookML views directly from the database schema.
|
|
It does not create model or explore files, only view files in the specified folder.
|
|
|
|
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- connection (required): The database connection name.
|
|
- tables (required): A list of objects to generate views for. Each object must contain `schema` and `table_name` (note: table names are case-sensitive). Optional fields include `primary_key`, `base_view`, and `columns` (array of objects with `column_name`).
|
|
- folder_name (optional): The folder to place the view files in (defaults to 'views/').
|
|
|
|
Output:
|
|
A confirmation message upon successful view generation, or an error message if the operation fails.
|
|
---
|
|
kind: tool
|
|
name: list_git_branches
|
|
type: looker-list-git-branches
|
|
source: looker-source
|
|
description: |
|
|
This tool is used to retrieve the list of available git branches of a LookML project.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
---
|
|
kind: tool
|
|
name: get_git_branch
|
|
type: looker-get-git-branch
|
|
source: looker-source
|
|
description: |
|
|
This tool is used to retrieve the current git branch of a LookML project.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
---
|
|
kind: tool
|
|
name: create_git_branch
|
|
type: looker-create-git-branch
|
|
source: looker-source
|
|
description: |
|
|
This tool is used to create a new git branch of a LookML project. This only works in dev mode.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- branch (required): The branch to create.
|
|
- ref (optional): The ref to start a newly created branch.
|
|
---
|
|
kind: tool
|
|
name: switch_git_branch
|
|
type: looker-switch-git-branch
|
|
source: looker-source
|
|
description: |
|
|
This tool is used to switch the git branch of a LookML project. This only works in dev mode.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- branch (required): The branch to switch to.
|
|
- ref (optional): The ref to change a branch with `reset --hard` on a switch operation.
|
|
---
|
|
kind: tool
|
|
name: delete_git_branch
|
|
type: looker-delete-git-branch
|
|
source: looker-source
|
|
description: |
|
|
This tool is used to delete a git branch of a LookML project. This only works in dev mode.
|
|
|
|
Parameters:
|
|
- project_id (required): The unique ID of the LookML project.
|
|
- branch (required): The branch to delete.
|
|
---
|
|
kind: toolset
|
|
name: looker_dev_tools
|
|
tools:
|
|
- health_pulse
|
|
- health_analyze
|
|
- health_vacuum
|
|
- dev_mode
|
|
- get_projects
|
|
- get_project_files
|
|
- get_project_file
|
|
- create_project_file
|
|
- update_project_file
|
|
- delete_project_file
|
|
- get_project_directories
|
|
- create_project_directory
|
|
- delete_project_directory
|
|
- validate_project
|
|
- get_connections
|
|
- get_connection_schemas
|
|
- get_connection_databases
|
|
- get_connection_tables
|
|
- get_connection_table_columns
|
|
- get_lookml_tests
|
|
- run_lookml_tests
|
|
- create_view_from_table
|
|
- list_git_branches
|
|
- get_git_branch
|
|
- create_git_branch
|
|
- switch_git_branch
|
|
- delete_git_branch |