Databricks

MCP server that exposes Databricks functionality via MCP, enabling programmatic control over clusters, jobs, notebooks, SQL, and workspace files.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "robkisk-databricks-mcp": {
      "command": "./scripts/start_mcp_server.sh",
      "args": [],
      "env": {
        "DATABRICKS_HOST": "https://your-databricks-instance.azuredatabricks.net",
        "DATABRICKS_TOKEN": "your-personal-access-token",
        "RUNNING_VIA_CURSOR_MCP": "true",
        "DATABRICKS_WAREHOUSE_ID": "sql_warehouse_12345"
      }
    }
  }
}

You set up and run a Databricks MCP Server that exposes Databricks functionality through the MCP protocol. This enables large language model (LLM) powered tools to manage clusters, jobs, notebooks, files, SQL, and more inside your Databricks workspace in a structured, programmatic way.

How to use

Start the MCP server locally and register it with your MCP clients to start issuing Databricks operations through MCP tools. You can manage clusters, execute SQL, work with notebooks and workspace files, handle repos, and monitor job runs. Use the available tools by calling them from your MCP client, and tailor requests with parameters such as IDs, paths, and SQL statements to perform the actions you need.

How to install

Prerequisites: Python 3.10 or higher and the uvx MCP package manager.

Install from scratch

# Unix/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex

Set up the project locally

Clone the project, set up a virtual environment, and install dependencies in development mode. Then configure environment variables for Databricks access.

Configuration steps

Create and activate a virtual environment, install development dependencies, and provide Databricks credentials via environment variables.

Run the MCP server locally

Activate the virtual environment and start the server using the provided startup script.

Register with AI clients

Register the server with your chosen AI client (Cursor, Claude CLI, etc.) using the local start script and environment variables so that you can invoke MCP tools directly.

Usage patterns

  • List resources: clusters, notebooks, files, and repos
  • Create and manage resources: clusters, jobs, catalogs, schemas, and tables
  • Execute SQL against a warehouse
  • Retrieve file contents and metadata from the workspace
  • Sync repos and run notebooks as part of a workflow
  • Handle file uploads and downloads to DBFS

Notes

The server is designed to operate asynchronously for efficient interaction with Databricks APIs and long-running tasks.

Available tools

list_clusters

List all Databricks clusters with their IDs, names, and statuses.

create_cluster

Create a new Databricks cluster with the specified configuration.

terminate_cluster

Terminate a running Databricks cluster by its ID.

get_cluster

Retrieve details for a specific Databricks cluster.

start_cluster

Start a terminated cluster by its ID.

list_jobs

List all Databricks jobs in the workspace.

run_job

Trigger a Databricks job run by job ID or configuration.

run_notebook

Submit a one-time notebook run and wait for completion.

create_job

Create a new Databricks job with a given configuration.

delete_job

Delete a Databricks job by ID.

get_run_status

Get status information for a specific job run.

list_job_runs

List recent runs for a specified job.

cancel_run

Cancel a running job.

list_notebooks

List notebooks within a workspace directory.

export_notebook

Export a notebook from the workspace in a chosen format.

import_notebook

Import a notebook into the workspace.

delete_workspace_object

Delete a notebook or a directory in the workspace.

get_workspace_file_content

Retrieve content of a workspace file, such as JSON, notebooks, or scripts.

get_workspace_file_info

Get metadata for a workspace file without downloading content.

list_files

List files and directories in a DBFS path.

dbfs_put

Upload a small file to DBFS.

dbfs_delete

Delete a DBFS file or directory.

install_library

Install libraries on a cluster.

uninstall_library

Remove libraries from a cluster.

list_cluster_libraries

Check libraries installed on a cluster.

create_repo

Clone a Git repository into the workspace.

update_repo

Update an existing repository in the workspace.

list_repos

List repositories in the workspace.

pull_repo

Pull the latest commit for a Databricks repo.

list_catalogs

List Unity Catalog catalogs.

create_catalog

Create a new Unity Catalog catalog.

list_schemas

List schemas within a catalog.

create_schema

Create a new schema in a catalog.

list_tables

List tables within a schema.

create_table

Execute a CREATE TABLE statement.

get_table_lineage

Fetch lineage information for a table.

sync_repo_and_run_notebook

Pull a repository and execute a notebook in one call.

execute_sql

Execute a SQL statement against a specified warehouse; warehouse_id may be optional if DATABRICKS_WAREHOUSE_ID is set.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational