googleapis / googleapis/mcp-toolbox
[tool/looker] Support discovery and retrieval of LookML dashboards in get_dashboards
- Dominant language
- Go
- Stars
- 16.5k
- Forks
- 1.7k
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 85
Description
### Problem Description
Currently, `looker-get-dashboards` (`internal/tools/looker/lookergetdashboards/lookergetdashboards.go`) does not return any LookML dashboards. Users and AI agents cannot discover, search, or list LookML dashboards in a Looker instance.
### Root Cause
`lookergetdashboards.go` invokes `sdk.SearchDashboards(req, ...)`. In Looker's backend API (`dashboard_controller.rb`), `search_dashboards` only searches the `dashboard` database table (User-Defined Dashboards / UDDs) and explicitly excludes LookML dashboards by design.
While Looker's `GET /api/3.x/dashboards/:dashboard_id` (`sdk.Dashboard`) can retrieve a LookML dashboard when provided a qualified ID (e.g., `model_name::dashboard_name`), callers have no tool to discover or search for LookML dashboard IDs in the first place.
### Proposed Solution
1. Add an optional parameter `include_lookml: true` (or `lookml_only`) to `looker-get-dashboards`.
2. When enabled, query Looker's `sdk.AllDashboards()` (`GET /api/3.x/dashboards`), which returns both UDDs and LookML dashboards (via `Looker::Model::LookMLDashboard.from_model_navs`).
3. Include an indicator `is_lookml: true` (or `readonly: true`) on returned dashboard items so agents can differentiate UDDs from version-controlled LookML dashboards.
Contributor guide
Assessment
This issue has not been assessed yet.