Databricks Cursor Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Databricks Cursor Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
30 powerful tools to manage Databricks directly from Cursor IDE with AI assistance.
node --version) — if missing, run brew install nodedatabricks --version) — if missing, run brew install databricks# 1. Clone or download this directory
git clone https://github.com/nayantarasundarraj-hue/Databricks-cursor-mcp.git ~/databricks-mcp-server
cd ~/databricks-mcp-server
# 2. Install dependencies
npm install
# 3. Verify installation
npm test
# 4. Authenticate with Databricks
databricks auth login --profile dev --host https://YOUR-WORKSPACE.cloud.databricks.com
# 5. Verify your paths (note these down for the config below)
which node
which databricks
# 6. Configure CursorEdit ~/.cursor/mcp.json:
{
"mcpServers": {
"databricks": {
"command": "node",
"args": [
"/Users/YOUR_USERNAME/databricks-mcp-server/server.js"
],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
"DATABRICKS_PROFILE": "dev",
"DATABRICKS_WORKSPACE_HOST": "YOUR-WORKSPACE.cloud.databricks.com"
}
}
}
}Important:
YOUR_USERNAME with your macOS username and YOUR-WORKSPACE with your Databricks workspace hostname.DATABRICKS_PROFILE must match the profile name you used during databricks auth login. Common values are dev, affirm-prod, or DEFAULT. Check ~/.databrickscfg to see your profiles.node: command not found, run which node and replace "node" with the full path (e.g. /opt/homebrew/bin/node).Quit completely (Command + Q / Alt + F4) and reopen. Wait 10-15 seconds.
In Cursor, ask:
list_notebooks - Browse foldersget_notebook - Read contentlist_clusters - Show clusterslist_jobs - Show jobsget_job_details - Job inforun_notebook - Execute with parametersget_run - Check statusget_run_output - Get resultscancel_run - Stop executionlist_runs - View historyexport_notebook - Downloadimport_notebook - Upload with backupget_notebook_revisions - View historystart_cluster - Wake upstop_cluster - Save costsget_cluster_status - Check statusrestart_cluster - Restartrun_job - Trigger jobsget_job_runs - View runslist_dbfs - Browse filesystemread_dbfs_file - Read filesupload_to_dbfs - Uploaddownload_from_dbfs - Downloadexecute_sql - Run querieslist_sql_warehouses - List warehousescreate_notebook - Create newdelete_notebook - Removemove_notebook - Organizelist_cluster_libraries - Show installedinstall_library - Add packagesEdit code safely:
"Add import pandas as pd to /Users/me/notebook"Save money:
"Stop all idle clusters"Query data:
"Run this SQL on warehouse abc123: SELECT * FROM users LIMIT 10"Automate workflows:
"Run /Users/me/ETL on cluster X with params date=2024-01-20"execFileSync (not execSync), no shell interpretationrun_notebook, run_job, delete_notebook, move_notebook, stop_cluster, restart_cluster, upload_to_dbfs, install_libraryThis MCP exposes both read and write tools in a single server. In an agentic context where the AI processes untrusted content (web pages, Slack messages, RAG documents, emails), a prompt injection could chain read operations (e.g., get_notebook, read_dbfs_file) with write/exec operations (e.g., execute_sql, upload_to_dbfs).
Recommendations:
disabledTools in your Cursor MCP config and only enabling the read-only subset.Cursor doesn't load your shell config (.zshrc), so it may not find node. Run which node in your terminal and use that full path as the command value in your mcp.json.
Same issue — Cursor can't find the Databricks CLI. Make sure the PATH in your config env includes the directory from which databricks (usually /opt/homebrew/bin or /usr/local/bin).
You need Node.js installed:
brew install nodeThen retry npm install.
cd ~/databricks-mcp-server
npm installdatabricks auth login --profile YOUR_PROFILE --host https://YOUR-WORKSPACE.cloud.databricks.com
# Then restart Cursor (Cmd+Q, reopen)Make sure DATABRICKS_PROFILE in your mcp.json matches a profile in ~/.databrickscfg. Run cat ~/.databrickscfg to check.
mcp.json is correctdatabricks-mcp-server/
├── server.js # Main MCP server (1,380 lines)
├── package.json # Dependencies
├── node_modules/ # Installed packages (auto-created)
└── README.md # This fileTo add new tools:
server.js:async myNewTool(args) {
const result = await this.executeCLI(['my-command', 'subcommand', args.param, '--output', 'json']);
return JSON.parse(result);
}setupHandlers():case 'my_new_tool':
const result = await this.myNewTool(args);
return { content: [{ type: 'text', text: JSON.stringify(result) }] };ListToolsRequestSchema handlerMIT - Feel free to modify and share
Issues? Check troubleshooting above or ask the team!
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.