Databricks battery
The Databricks battery covers the two managed MCP servers with fixed tool names: Genie One (/api/2.0/mcp/genie, five tools) and Databricks SQL (/api/2.0/mcp/sql, one tool). One namespace is bound to both host servers:
appa battery install databricks --server <genie-server> --server <sql-server>
The battery also ships the databricks audience source, which reads the workspace's users, groups, and Genie space permissions.
Tool behavior#
- Genie answers a question with SQL it generates and the rows that SQL returns from the workspace's tables. The four Genie reads return untrusted data, and the question must be sharable with .
execute_sqlruns any statement. The Claude Code model classifies each one before it runs, inside a fixed mandate: a read-only statement returns untrusted data;INSERT,UPDATE,DELETE,MERGE, andCOPY INTOneed trusted internal input and recorddatabricks.changed; DDL, grants, several statements, or anything unclear need thedatabricks-reviewmark and recorddatabricks.sensitive.- An answer outside that mandate is refused with the call. The answer inside it is the model's reading of the statement, not a parse: prose hidden in a SQL comment can steer it, so a workspace that must not take that risk sets
disallow_writeson the warehouse or overrides the rule to send every statement to a person.
The Claude Code plugin default permits every mark, so the person running the session reviews databricks-review; another root config must define an Authority permitting it.
Audience source#
A reader is an active user's login address, which Databricks verifies at every sign-in; any other user is databricks:<id>. The source serves viewer for , members for , group/<name> for groups, and genie-space/<id>/readers for root rules over a per-space Genie Agent server. Every read is one Databricks CLI command, so the CLI's own login names the workspace and the credential; a deployment that sets APPA_PROVIDER_DATABRICKS_TOKEN hands it to the CLI as its token.
Genie One holds no space id in any call, so every Genie read is ; narrow a per-space Genie Agent server's tool in the root policy with @databricks:genie-space/<id>/readers.