Skip to content

Add Lakeview dashboard CRUD + Publish tools to UC server#48

Open
priyal-c wants to merge 1 commit into
databrickslabs:masterfrom
priyal-c:feature/lakeview-tools
Open

Add Lakeview dashboard CRUD + Publish tools to UC server#48
priyal-c wants to merge 1 commit into
databrickslabs:masterfrom
priyal-c:feature/lakeview-tools

Conversation

@priyal-c
Copy link
Copy Markdown

Summary

  • Adds 8 Lakeview (AI/BI Dashboard) tools to the Unity Catalog MCP server: list, get, create, update, delete, publish, unpublish, get_published
  • Uses WorkspaceClient().lakeview SDK methods, follows existing BaseTool / factory pattern (same as genie.py, vector_search.py)
  • Gated by enable_lakeview CLI setting (default: True), opt-out with --enable-lakeview false
  • Includes 18 unit tests covering tool listing, execution, and integration via mocked WorkspaceClient

Motivation

Customer (Mural) asked whether the managed Databricks SQL MCP server supports dashboard creation. It doesn't — only execute_sql, execute_sql_read_only, and poll_sql_result are exposed, and the managed server is closed-source. This gives the community a way to manage AI/BI dashboards via MCP using the open-source UC server.

Tools Added

Tool Description
lakeview_list_dashboards List dashboards with pagination
lakeview_get_dashboard Get metadata + serialized definition
lakeview_create_dashboard Create a new dashboard
lakeview_update_dashboard Update display name, warehouse, or definition
lakeview_delete_dashboard Move to trash (recoverable)
lakeview_publish_dashboard Publish a dashboard version
lakeview_unpublish_dashboard Remove published version
lakeview_get_published_dashboard Get published version details

Test plan

  • make lint passes (black --check + ruff check)
  • uv run pytest tests/ — 42 tests pass (18 new + 24 existing)
  • Integration test against a live workspace (manual)
  • Verify tools/list MCP call includes lakeview tools via stdio

This pull request and its description were written by Isaac.

Mural (customer) asked whether the managed Databricks SQL MCP server
supports dashboard creation. It doesn't — only execute_sql,
execute_sql_read_only, and poll_sql_result are exposed. The managed
server is closed-source and not extensible.

This adds 8 Lakeview tools to the open-source UC server as the
community workaround:

- lakeview_list_dashboards
- lakeview_get_dashboard
- lakeview_create_dashboard
- lakeview_update_dashboard
- lakeview_delete_dashboard
- lakeview_publish_dashboard
- lakeview_unpublish_dashboard
- lakeview_get_published_dashboard

Tools use WorkspaceClient().lakeview SDK methods and follow the same
BaseTool/factory pattern as genie.py and vector_search.py. Enabled by
default via `enable_lakeview` CLI setting (opt-out with --enable-lakeview false).

Co-authored-by: Isaac
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants