- Home
- MCP servers
- Databricks
Databricks
- 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.