Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
databricks avatar

Add Tools

  • 30 installs
  • 179 repo stars
  • Updated July 28, 2026
  • databricks/app-templates

add-tools adds MCP tools to Databricks agents with yml grants.

About

The add-tools skill connects Genie, vector search, UC functions, warehouses, endpoints, and custom MCP apps in agent_server/agent.py then declares matching databricks.yml resources with permissions, requiring bundle deploy and bundle run to apply.

  • MCP wiring in agent.py with MultiServerMCPClient.
  • databricks.yml permission resources required.
  • bundle deploy and run after changes.
  • Example YAML snippets per resource type.
  • CLI --profile from .env required.

Add Tools by the numbers

  • 30 all-time installs (skills.sh)
  • Ranked #9,316 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

add-tools capabilities & compatibility

Capabilities
three step add tools workflow
Works with
databricks
Use cases
orchestration
npx skills add https://github.com/databricks/app-templates --skill add-tools

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs30
repo stars179
Last updatedJuly 28, 2026
Repositorydatabricks/app-templates

How do I add tools to a Databricks agent?

Wire MCP tools into Databricks agents and grant databricks.yml permissions.

Who is it for?

Databricks agent developers adding tools.

Skip if: Skip before underlying resource exists.

When should I use this skill?

Adding tools or fixing permission errors.

What you get

Deployed agent with tools and permissions.

Files

SKILL.mdMarkdownGitHub ↗

Add Tools & Grant Permissions

Profile reminder: All databricks CLI commands must include the profile from .env: databricks <command> --profile <profile>
Don't have the resource yet? See create-tools skill first.

After adding any MCP server to your agent, you MUST grant the app access in `databricks.yml`.

Without this, you'll get permission errors when the agent tries to use the resource.

Workflow

Step 1: Add MCP server in agent_server/agent.py:

from databricks_langchain import DatabricksMCPServer, DatabricksMultiServerMCPClient

genie_server = DatabricksMCPServer(
    url=f"{host}/api/2.0/mcp/genie/01234567-89ab-cdef",
    name="my genie space",
)

mcp_client = DatabricksMultiServerMCPClient([genie_server])
tools = await mcp_client.get_tools()

Step 2: Grant access in databricks.yml:

resources:
  apps:
    agent_langgraph:
      resources:
        - name: 'my_genie_space'
          genie_space:
            name: 'My Genie Space'
            space_id: '01234567-89ab-cdef'
            permission: 'CAN_RUN'

Step 3: Deploy and run:

databricks bundle deploy
databricks bundle run agent_langgraph  # Required to start app with new code!

See deploy skill for more details.

Resource Type Examples

See the examples/ directory for complete YAML snippets:

FileResource TypeWhen to Use
uc-function.yamlUnity Catalog functionUC functions via MCP
uc-connection.yamlUC connectionExternal MCP servers
vector-search.yamlVector search indexRAG applications
sql-warehouse.yamlSQL warehouseSQL execution
serving-endpoint.yamlModel serving endpointModel inference
genie-space.yamlGenie spaceNatural language data
lakebase.yamlLakebase databaseAgent memory storage (provisioned)
lakebase-autoscaling.yamlLakebase autoscaling postgresAgent memory storage (autoscaling)
experiment.yamlMLflow experimentTracing (already configured)
app.yamlDatabricks App (app-to-app)Custom MCP servers hosted as Apps
custom-mcp-server.mdCustom MCP appsApps starting with mcp-*

Custom MCP Servers (Databricks Apps)

Declare the target app as an app resource in databricks.yml — the bundle grants CAN_USE on deploy. Requires Databricks CLI v0.298.0+.

resources:
  apps:
    agent_langgraph:
      resources:
        - name: 'mcp_server'
          app:
            name: 'mcp-my-server'
            permission: CAN_USE

See examples/custom-mcp-server.md for the full flow (agent code + YAML + deploy).

value_from Pattern

IMPORTANT: Make sure all value_from references in databricks.yml config.env reference an existing key in the databricks.yml resources list. Some resources need environment variables in your app. Use value_from in databricks.yml config.env to reference resources defined in databricks.yml:

# In databricks.yml, under apps.<app>.config.env:
env:
  - name: MLFLOW_EXPERIMENT_ID
    value_from: "experiment"        # References resources.apps.<app>.resources[name='experiment']
  - name: LAKEBASE_INSTANCE_NAME
    value_from: "database"   # References resources.apps.<app>.resources[name='database']

Critical: Every value_from value must match a name field in databricks.yml resources.

MCP Error Handling

MCP tool calls can fail (network issues, permission errors, timeouts). Use handle_tool_error on MCP servers to catch errors and return them to the LLM instead of crashing the agent:

DatabricksMCPServer(
    name="genie",
    url=f"{host}/api/2.0/mcp/genie/{space_id}",
    handle_tool_error=True,   # Return error messages to LLM instead of raising
    timeout=60.0,             # Increase timeout for slow tools like Genie
)

For local function tools defined with @tool, see create-tools skill > examples/local-python-tools.md for the ToolException + handle_tool_error pattern.

Important Notes

  • MLflow experiment: Already configured in template, no action needed
  • Multiple resources: Add multiple entries under resources: list
  • Permission types vary: Each resource type has specific permission values
  • Deploy + Run after changes: Run both databricks bundle deploy AND databricks bundle run {{BUNDLE_NAME}}
  • value_from matching: Ensure config.env value_from values match databricks.yml resource name values

Related skills

FAQ

What does add-tools do?

add-tools adds MCP tools to Databricks agents with yml grants.

When should I use add-tools?

Adding tools or fixing permission errors.

Is this skill safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.