Labsco
MCP SERVER

Databricks MCP Server

by RafaelCartenet

Let an agent explore Unity Catalog and run SQL against Databricks on its own.

Relational SQL Databases
Summary
Metadata-first: the agent reads catalog descriptions and lineage before it writes a query.

The point of the describe_uc_* tools is to make the documentation you already put into Unity Catalog usable by the model, so its SQL is informed rather than guessed. Lineage goes past table-to-table — it surfaces the notebooks that produce a table, letting the agent read the actual transformation logic. Grant the token narrowly, because execute_sql_query runs whatever it is given.

What it is

A server that exposes Databricks Unity Catalog metadata and SQL execution, so an agent can navigate catalogs, read table structure and lineage, and query — returning descriptive output as Markdown.

What you get
  • list_uc_catalogs lists catalogs with names, descriptions and types
  • describe_uc_catalog lists a catalog's schemas; describe_uc_schema lists a schema's tables, with include_columns for column detail
  • describe_uc_table gives a table's structure, and with include_lineage adds upstream and downstream tables plus the notebooks and jobs that read or write it
  • execute_sql_query runs a SQL statement via the Databricks SDK and returns formatted results
  • Lineage returns notebook paths, so the agent can go read the transformation code behind a table
Requirements

Python 3.10+, and three environment variables — DATABRICKS_HOST, DATABRICKS_TOKEN and DATABRICKS_SQL_WAREHOUSE_ID (the warehouse ID is used for lineage and SQL execution). Install with pip or uv against requirements.txt. The token's identity needs USE CATALOG, USE SCHEMA and SELECT on what it touches, plus CAN_USE on the warehouse; a service principal with narrow permissions is the recommended setup.

Setup effort

One command plus a key — uvx databricks, then supply credentials