databricks-mcp
Provides tools for executing Databricks CLI commands, enabling AI agents to manage clusters, jobs, SQL queries, and other Databricks workspace resources through the authenticated Databricks profile.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@databricks-mcplist my Databricks clusters"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
databricks-mcp
This is a very thin wrapper around the databricks CLI.
Security
This server passes any command directly to databricks without filtering. It can do anything your authenticated Databricks profile allows.
To control what the server can do, scope your authentication:
Recommended: Use a service principal with only the workspace and account access your AI tool needs.
Alternatively: Use a personal access token with the minimum required permissions.
Use Databricks configuration profiles to isolate credentials for different workspaces.
The server prevents shell injection by design — commands are passed as argument arrays to Bun.spawn, never interpolated into a shell string.
Related MCP server: MCP Shell Server
Installation
1. Install the Databricks CLI
Install the Databricks CLI using Homebrew on macOS:
brew tap databricks/tap
brew trust databricks/tap
brew install databricksOr download the binary directly. Verify your installation:
databricks -v2. Authenticate
Configure a Databricks profile:
databricks auth loginFollow the prompts to set your workspace URL and authentication method. Verify your configuration:
databricks auth describe3. Install bun
This project uses bun for package management. Verify your installation.
bun --version4. Clone the repo and install dependencies
git clone https://github.com/jarrettmeyer/databricks-mcp.git
cd databricks-mcp
bun install5. Add the server to your MCP client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Note: bun installs to ~/.bun/bin/, which is not on the default PATH. Use the full path to the bun executable.
{
"mcpServers": {
"databricks": {
"command": "/Users/your-username/.bun/bin/bun",
"args": ["run", "/path/to/databricks-mcp/src/index.ts"]
}
}
}Restart Claude Desktop.
Claude Code
Install from your terminal:
claude mcp add databricks -- bun run /path/to/databricks-mcp/src/index.tsIf databricks is in a non-standard location, pass DATABRICKS_PATH via --env:
claude mcp add databricks --env DATABRICKS_PATH=/opt/homebrew/bin/databricks -- bun run /path/to/databricks-mcp/src/index.tsUsage
send_command
Execute a databricks CLI command. Pass everything that would follow databricks on the command line as the command string.
Parameter | Type | Description |
| string | The |
Examples:
List clusters in a workspace:
command: "clusters list"
Get details for a specific cluster:
command: "clusters get 1234-567890-a12bcde3"
List jobs:
command: "jobs list"
Run a SQL query:
command: "sql query --query 'SELECT 1' --warehouse-id abc123"
Check authentication status:
command: "auth describe"This tool works with any MCP-compatible client, including Claude Desktop, Claude Code, and Cursor.
Pipes and redirects
If the command contains a pipe (|) or redirect (>, <), the server strips the operator and everything after it, then executes only the databricks portion. The raw output is returned so the client can filter or format it.
Pipe is stripped — only "clusters list" runs:
command: "clusters list | grep running"
Redirect is stripped — only "clusters list" runs:
command: "clusters list > output.txt"
First pipe wins — only "clusters list" runs:
command: "clusters list | grep running | head -5"Operators inside quoted arguments are preserved, so SQL containing > or | is unaffected:
The > inside the quoted query is kept:
command: 'sql query --query "SELECT * FROM t WHERE a > 1"'Other shell syntax — ;, &&, comments (#), glob patterns (*.json), and variable references ($VAR) — is not supported and will produce an error.
Additional Configuration
DATABRICKS_PATH
By default, the server resolves databricks from your PATH. If databricks is installed in a non-standard location, set DATABRICKS_PATH to its absolute path:
{
"mcpServers": {
"databricks": {
"command": "/Users/your-username/.bun/bin/bun",
"args": ["run", "/path/to/databricks-mcp/src/index.ts"],
"env": {
"DATABRICKS_PATH": "/opt/homebrew/bin/databricks"
}
}
}
}Resources
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Related MCP Servers
FlicenseNot gradedqualityCmaintenanceEnables external MCP clients to execute Mittwald CLI commands on behalf of users via stateless OAuth authentication.3-- AlicenseBqualityDmaintenanceEnables secure execution of whitelisted shell commands through MCP, with support for stdin input, timeout control, and comprehensive output including stdout, stderr, and execution time.1MIT
- AlicenseNot gradedqualityCmaintenanceProvides a secure, token-authenticated command execution tool over MCP Streamable HTTP, with a default-deny allowlist and shell metacharacter rejection.12 npm1Apache 2.0
- FlicenseAqualityCmaintenanceEnables MCP clients to run Cline CLI prompts and isolated repository-wide analyses, returning terminal text responses with model, duration, and usage/cost.2-