cli
cli copied to clipboard
Add an experimental MCP server
Changes
This adds an experimental MCP server:
experimental/aitools/
├── agents/ # Agent detection and installation (Claude Code, Cursor, custom)
├── auth/ # Authentication checking
├── tools/ # MCP tools: init_project, add_project_resource, analyze_project, explore, invoke_databricks_cli
│ ├── resources/ # Resource types for add_project_resource: apps, dashboards, jobs, pipelines
│ └── prompts/ # AI-facing prompts as .tmpl files
├── install.go # Installation command
├── server.go # MCP server implementation
└── uninstall.go # Uninstallation command
$ databricks experimental aitools install
[████████] Databricks Experimental AI agent skills & MCP
[██▌ ▐██]
[████████] AI-powered Databricks development and exploration
╔════════════════════════════════════════════════════════════════╗
║ ⚠️ EXPERIMENTAL: This command may change in future versions ║
╚════════════════════════════════════════════════════════════════╝
Which coding agents would you like to install the MCP server for?
Install for Claude Code? [Use arrows to move]
> yes
no
✓ Installed for Cursor
Install for Cursor? [Use arrows to move]
> yes
no
✓ Installed for Claude Code
Show manual installation instructions for other agents? [Use arrows to move]
> yes
no
You can now use your coding agent to interact with Databricks.
Try asking: 'Create a new Databricks project with a job or an app'
| Env | 💚RECOVERED | 🙈SKIP | ✅pass | 🙈skip | Time | |
|---|---|---|---|---|---|---|
| 💚 | aws linux | 7 | 2 | 360 | 613 | 17:58 |
| 💚 | aws windows | 7 | 2 | 361 | 612 | 14:56 |
| 💚 | aws-ucws linux | 7 | 2 | 498 | 503 | 21:17 |
| 💚 | aws-ucws windows | 7 | 2 | 499 | 502 | 23:38 |
| 💚 | azure linux | 1 | 4 | 360 | 612 | 20:37 |
| 💚 | azure windows | 1 | 4 | 361 | 611 | 19:31 |
| 💚 | azure-ucws linux | 1 | 4 | 494 | 502 | 24:03 |
| 💚 | azure-ucws windows | 1 | 4 | 495 | 501 | 23:43 |
| 💚 | gcp linux | 1 | 4 | 356 | 615 | 17:01 |
| 💚 | gcp windows | 1 | 4 | 357 | 614 | 19:45 |
9 failing tests:
| Test Name | aws linux | aws windows | aws-ucws linux | aws-ucws windows | azure linux | azure windows | azure-ucws linux | azure-ucws windows | gcp linux | gcp windows |
|---|---|---|---|---|---|---|---|---|---|---|
| TestAccept | 💚R | 💚R | 💚R | 💚R | 💚R | 💚R | 💚R | 💚R | 💚R | 💚R |
| TestAccept/bundle/resources/permissions | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions | 💚R | 💚R | 💚R | 💚R | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct | 💚R | 💚R | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | 💚R | 💚R | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions | 💚R | 💚R | 💚R | 💚R | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct | 💚R | 💚R | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | 💚R | 💚R | 💚R | 💚R | ||||||
| TestAccept/bundle/run/app-with-job | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
Top 35 slowest tests (at least 2 minutes):
| duration | env | testname |
|---|---|---|
| 6:27 | azure windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 6:23 | azure windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 6:16 | gcp windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 6:01 | azure linux | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:58 | gcp windows | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:57 | azure-ucws windows | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:46 | gcp linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:31 | gcp linux | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:30 | azure windows | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:27 | gcp windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:24 | aws-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:17 | gcp linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 5:12 | aws-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 5:07 | aws linux | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:57 | aws windows | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:53 | aws-ucws windows | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:09 | azure-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 4:01 | azure-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 3:58 | azure linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 3:43 | azure linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 3:38 | azure-ucws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 3:35 | azure-ucws linux | TestAccept/bundle/resources/synced_database_tables/basic |
| 3:28 | azure-ucws linux | TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct |
| 3:20 | azure-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 3:18 | azure-ucws windows | TestAccept/bundle/resources/synced_database_tables/basic |
| 2:28 | aws-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 2:21 | aws-ucws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 2:18 | aws linux | TestAccept |
| 2:17 | aws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
| 2:15 | aws windows | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 2:12 | azure linux | TestAccept |
| 2:11 | aws-ucws linux | TestAccept |
| 2:08 | aws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform |
| 2:08 | gcp linux | TestAccept |
| 2:06 | aws linux | TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct |
Commit: https://github.com/databricks/cli/commit/1e978fd89df49f44503840b2fe1633086f11b07e
| Env | ❌FAIL | 🟨KNOWN | 🔄flaky | 💚RECOVERED | 🙈SKIP | ✅pass | 🙈skip | Time | |
|---|---|---|---|---|---|---|---|---|---|
| 🟨 | aws linux | 10 | 1 | 393 | 600 | 61:35 | |||
| 🟨 | aws windows | 10 | 1 | 394 | 599 | 64:12 | |||
| ❌ | aws-ucws linux | 3 | 2 | 2 | 6 | 1 | 546 | 484 | 107:37 |
| ❌ | aws-ucws windows | 3 | 4 | 2 | 6 | 1 | 545 | 483 | 107:33 |
| 🟨 | azure linux | 1 | 3 | 3 | 393 | 599 | 54:01 | ||
| 🟨 | azure windows | 3 | 1 | 3 | 394 | 598 | 58:22 | ||
| ❌ | azure-ucws linux | 3 | 2 | 2 | 3 | 542 | 483 | 101:03 | |
| ❌ | azure-ucws windows | 3 | 3 | 1 | 3 | 543 | 482 | 94:04 | |
| 🟨 | gcp linux | 4 | 2 | 3 | 378 | 605 | 64:05 | ||
| 🟨 | gcp windows | 4 | 3 | 381 | 604 | 64:17 |
18 failing tests:
| Test Name | aws linux | aws windows | aws-ucws linux | aws-ucws windows | azure linux | azure windows | azure-ucws linux | azure-ucws windows | gcp linux | gcp windows |
|---|---|---|---|---|---|---|---|---|---|---|
| TestAccept | 🟨K | 🟨K | 🟨K | 🟨K | 🔄f | 🟨K | 🟨K | 🟨K | 🟨K | 🟨K |
| TestAccept/bundle/integration_whl/base | ✅p | ✅p | ✅p | 🔄f | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p |
| TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct | ✅p | ✅p | ✅p | 🔄f | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p |
| TestAccept/bundle/resources/dashboards/change-name | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | 🔄f | ✅p |
| TestAccept/bundle/resources/dashboards/change-name/DATABRICKS_BUNDLE_ENGINE=terraform | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | ✅p | 🔄f | ✅p |
| TestAccept/bundle/resources/model_serving_endpoints/running-endpoint | 🙈s | 🙈s | ❌F | ❌F | 🙈s | 🙈s | ❌F | ❌F | 🙈s | 🙈s |
| TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct | ❌F | ❌F | ❌F | ❌F | ||||||
| TestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform | ❌F | ❌F | ❌F | ❌F | ||||||
| TestAccept/bundle/resources/permissions | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions | 🟨K | 🟨K | 💚R | 💚R | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct | 🟨K | 🟨K | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | 🟨K | 🟨K | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions | 🟨K | 🟨K | 💚R | 💚R | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S | 🙈S |
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct | 🟨K | 🟨K | 💚R | 💚R | ||||||
| TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform | 🟨K | 🟨K | 💚R | 💚R | ||||||
| TestAccept/bundle/run/app-with-job | 🟨K | 🟨K | 🔄f | 🟨K | 🔄f | 🟨K | 🔄f | 🟨K | 🟨K | 🟨K |
| TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct | 🟨K | 🟨K | 🔄f | 🟨K | 🔄f | 🟨K | 🔄f | 🔄f | 🟨K | 🟨K |
| TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform | 🟨K | 🟨K | 🟨K | 🟨K | 🟨K | 🔄f | 🟨K | 🟨K | 🟨K | 🟨K |
Top 50 slowest tests (at least 2 minutes):
| duration | env | testname |
|---|---|---|
| 17:07 | aws-ucws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 16:17 | azure-ucws linux | TestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform |
| 14:26 | gcp linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 13:06 | gcp windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 11:58 | aws-ucws windows | TestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform |
| 11:24 | aws windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 11:19 | azure windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 10:32 | aws windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 10:30 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 9:39 | aws-ucws windows | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 9:01 | azure-ucws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:59 | aws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:53 | azure windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:51 | azure-ucws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:48 | azure windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:41 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:41 | aws-ucws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:27 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 8:24 | azure linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:23 | aws-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 8:22 | gcp windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:20 | gcp linux | TestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:15 | aws linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 8:14 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 8:12 | azure windows | TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:11 | azure windows | TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=terraform |
| 8:06 | aws-ucws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:05 | aws linux | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 8:05 | azure-ucws linux | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS |
| 8:01 | aws linux | TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform |
| 7:56 | gcp linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION |
| 7:53 | gcp linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 7:53 | azure linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS |
| 7:51 | aws windows | TestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform |
| 7:49 | gcp linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION |
| 7:49 | azure-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS |
| 7:48 | gcp windows | TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct |
| 7:48 | gcp windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS |
| 7:47 | aws windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS |
| 7:44 | aws windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 7:42 | aws-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 7:41 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER |
| 7:41 | azure-ucws windows | TestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS |
| 7:38 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform |
| 7:37 | aws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 7:37 | azure windows | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS |
| 7:35 | aws-ucws linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 7:35 | azure linux | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER |
| 7:32 | gcp windows | TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER |
| 7:32 | aws linux | TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS |