External OpenClaw plugin for conservative Databricks SQL access.
Requirements:
- OpenClaw host version
>= 2026.3.28 - Plugin entry key:
plugins.entries.databricks
This package provides:
- Runtime tool:
databricks_sql_readonly - Skill pack:
databricks - Read-only SQL execution only (
SELECTorWITH ... SELECT)
Preferred:
openclaw plugins install @kansodata/openclaw-databricks-pluginSource-specific:
openclaw plugins install clawhub:@kansodata/openclaw-databricks-plugin
openclaw plugins install npm:@kansodata/openclaw-databricks-pluginOpenClaw checks ClawHub first for bare package installs, then falls back to npm.
{
"plugins": {
"entries": {
"databricks": {
"enabled": true,
"config": {
"host": "https://dbc-example.cloud.databricks.com",
"token": "dapi...",
"warehouseId": "abc123",
"readOnly": true
}
}
}
}
}Restart gateway after configuration changes.
For real execution, host, token, and warehouseId are required.
Required:
hosttokenwarehouseId
Optional:
timeoutMs(default30000)retryCount(default1, range0..3)pollingIntervalMs(default1000)maxPollingWaitMs(default30000)allowedCatalogs(default[])allowedSchemas(default[])readOnly(must staytrue)
Environment fallbacks:
DATABRICKS_HOSTDATABRICKS_TOKENDATABRICKS_WAREHOUSE_IDDATABRICKS_READ_ONLY
- Fail-closed host validation:
- HTTPS only
- No path/query/fragment/userinfo/custom port
- No localhost/IP literals
- Hostname must match Databricks suffixes (
*.cloud.databricks.com,*.azuredatabricks.net,*.gcp.databricks.com)
- Token and sensitive values are redacted in runtime logs and normalized error output.
- SQL policy is read-only and blocks mutating keywords and multi-statement input.
- Allowlists are enforced conservatively:
- If targets cannot be resolved safely, request is rejected.
- Ambiguous target syntax is rejected when allowlists are configured.
catalogandschemarequest parameters do not bypass SQL target checks.
databricks_sql_readonly:
- Submits SQL via Databricks SQL Statements API.
- Polls statement status until a terminal state or timeout budget exhaustion.
- Treats
SUCCEEDEDas success. - Treats
FAILED/CANCELEDas explicit failures. - Uses
retryCountfor transient submit and poll failures (429,408,5xx, and timeout aborts).
Out of scope in this version:
- Jobs API execution
- Unity Catalog lineage APIs
- Any mutating SQL support
This package is intended for external distribution (ClawHub/npm), not bundled OpenClaw core.
- Validate locally:
pnpm install
pnpm lint
pnpm typecheck
pnpm test
npm pack --dry-run- Publish to npm (when credentials are configured):
npm publish --access public- Publish/list in ClawHub according to the ClawHub submission flow for external plugins.