Databricks

Provides programmatic Databricks access for clusters, notebooks, jobs, Unity Catalog, and FinOps via MCP.
  • typescript

0

GitHub Stars

typescript

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": {
    "nainikayakkali-claud-databricks-mcp-server": {
      "command": "databricks-mcp-server",
      "args": [],
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.cloud.databricks.com",
        "DATABRICKS_TOKEN": "your-personal-access-token"
      }
    }
  }
}

This MCP server enables your AI assistant to interact with Databricks workspaces programmatically, covering cluster, notebook, job, Unity Catalog, user management, permissions, and FinOps cost analytics. It lets you perform common governance, development, and operational tasks through natural language commands or structured requests, simplifying automation and cost-aware workflows.

How to use

You connect your MCP client to the server to manage Databricks resources from your AI assistant. Start by configuring an MCP channel that points to the Databricks MCP server, then trigger actions such as listing clusters, creating notebooks, scheduling jobs, querying Unity Catalog metadata, and analyzing costs. Use natural-language prompts or structured tool calls to perform operations. For example, you can ask your assistant to show all running clusters, create a new cluster with a specified worker count, run a notebook with given parameters, or retrieve cost analytics for a given time window. The server exposes a wide set of tools across clusters, notebooks, jobs, users, Unity Catalog, permissions, and FinOps to cover typical administration and data governance tasks.

How to install

Prerequisites you need before installing: Node.js 18 or higher, npm or yarn, a Databricks workspace, and credentials (a Databricks personal access token or service principal credentials). Then follow these steps to install and prepare the MCP server.

# Install from npm (global)\nnpm install -g databricks-mcp-server\n\n# Or install from source (recommended for development)\ngit clone https://github.com/yourusername/databricks-mcp-server.git\ncd databricks-mcp-server\nnpm install\nnpm run build\n"}]}]},{

Configuration

Set your Databricks connection details as environment variables in a .env file in your project. Provide the Databricks workspace host and a valid access token to authorize requests.

DATABRICKS_HOST=https://your-workspace.cloud.databricks.com\nDATABRICKS_TOKEN=your-personal-access-token
"}]} ,{

Security and best practices

Store credentials in environment variables rather than in code. Use service principals for production deployments. Apply least-privilege access for service accounts, rotate tokens regularly, and leverage Unity Catalog for fine-grained data access control.

Troubleshooting

If authentication fails, verify the host URL starts with https:// and that the token is valid and has sufficient permissions. If you encounter a tool not found error, ensure the MCP server is properly installed and the client configuration is correct. For any permission issues, check token scopes, workspace access controls, and Unity Catalog grants.

Notes

The server supports multiple authentication methods, with a recommended approach being a service principal for production deployments. Costs estimates are approximate and should be complemented with the Databricks billing API for precise billing.

Available tools

list_clusters

List all clusters in the workspace and return their basic details such as name, state, and node type.

get_cluster_details

Retrieve detailed information for a specific cluster, including configuration and current status.

create_cluster

Create a new Databricks cluster with specified configuration (worker count, runtime version, and other settings).

start_cluster

Start a terminated or stopped cluster to make it ready for use.

restart_cluster

Restart a running cluster to apply configuration changes or recover from issues.

terminate_cluster

Terminate a cluster to stop billing and free resources.

edit_cluster

Edit an existing cluster’s configuration, such as worker size or runtime version.

resize_cluster

Resize the number of workers in a cluster to scale capacity up or down.

get_cluster_events

Fetch historical events and logs for a cluster to troubleshoot or monitor activity.

pin_cluster

Pin a cluster for quick access and organization.

unpin_cluster

Remove a cluster pin.

list_notebooks

List notebooks within a specified path in the workspace.

read_notebook

Read and display the contents of a notebook.

create_notebook

Create a new notebook with specified language and initial content.

update_notebook

Update the content of an existing notebook.

delete_notebook

Delete a notebook from the workspace.

move_notebook

Move or rename a notebook within the workspace结构.

create_directory

Create a new directory in the workspace for organizing notebooks and assets.

run_notebook

Execute a notebook with supplied parameters and capture outputs.

list_jobs

List all jobs configured in the Databricks workspace.

get_job_details

Retrieve a job’s configuration and status.

create_job

Create a new job with a defined workflow and schedules.

update_job

Update a job’s settings or workflow.

delete_job

Delete a job from the workspace.

run_job

Trigger a job run on demand.

get_job_run_status

Check the status of a specific job run.

list_job_runs

List historical runs for a given job.

cancel_job_run

Cancel an in-progress job run.

get_job_run_output

Retrieve the output of a completed or running job run.

list_users

List workspace users and basic details.

get_user_details

Fetch detailed information about a specific user.

create_user

Add a new user to the workspace.

delete_user

Remove a user from the workspace.

list_groups

List all groups in the workspace.

get_group_details

Get details for a specific group.

create_group

Create a new user group.

delete_group

Delete an existing group.

add_user_to_group

Add a user to a group.

remove_user_from_group

Remove a user from a group.

list_service_principals

List service principals configured for access.

list_catalogs

List all Unity Catalog catalogs.

get_catalog_details

Get detailed information about a catalog.

create_catalog

Create a new Unity Catalog catalog.

delete_catalog

Delete a catalog.

list_schemas

List schemas within a catalog.

get_schema_details

Get details for a specific schema.

create_schema

Create a new schema within a catalog.

delete_schema

Delete a schema.

list_tables

List tables in a schema.

get_table_details

Retrieve metadata for a table.

delete_table

Delete a table from a schema.

list_volumes

List Unity Catalog volumes.

list_external_locations

List external locations configured for data access.

query_table

Execute a SQL query against a catalog table.

get_permissions

Get object permissions in the workspace.

set_permissions

Set permissions on a workspace object.

update_permissions

Update existing permissions on an object.

get_permission_levels

List available permission levels for Unity Catalog.

grant_unity_catalog_permissions

Grant Unity Catalog privileges to a principal.

revoke_unity_catalog_permissions

Revoke Unity Catalog privileges from a principal.

get_effective_permissions

Get the effective permissions on an object.

get_cluster_costs

Analyze cluster costs and DBU consumption.

analyze_spending_trends

View spending trends over time.

forecast_costs

Forecast future costs based on historical data.

get_optimization_recommendations

Get recommendations to optimize costs.

analyze_cost_by_tag

Analyze costs by custom tags.

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