CtrlK
BlogDocsLog inGet started
Tessl Logo

discover-tools

Discover available tools and resources in Databricks workspace. Use when: (1) User asks 'what tools are available', (2) Before writing agent code, (3) Looking for MCP servers, Genie spaces, UC functions, or vector search indexes, (4) User says 'discover', 'find resources', or 'what can I connect to'.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Discover Available Tools

Run tool discovery BEFORE writing agent code to understand what resources are available in the workspace.

Run Discovery

npm run discover-tools

Options:

# Limit to specific catalog/schema
npm run discover-tools -- --catalog my_catalog --schema my_schema

# Output as JSON
npm run discover-tools -- --format json --output tools.json

# Save markdown report
npm run discover-tools -- --output tools.md

# Use specific Databricks profile
npm run discover-tools -- --profile DEFAULT

What Gets Discovered

Resource TypeDescriptionMCP URL Pattern
UC FunctionsSQL UDFs as agent tools{host}/api/2.0/mcp/functions/{catalog}/{schema}
UC TablesStructured data for querying(via UC functions)
Vector Search IndexesRAG applications{host}/api/2.0/mcp/vector-search/{catalog}/{schema}
Genie SpacesNatural language data interface{host}/api/2.0/mcp/genie/{space_id}
Custom MCP ServersApps starting with mcp-*{app_url}/mcp
External MCP ServersVia UC connections{host}/api/2.0/mcp/external/{connection_name}

Using Discovered Tools in Code

After discovering tools, add them to your agent in src/mcp-servers.ts:

import { DatabricksMCPServer } from "@databricks/langchainjs";

export function getMCPServers(): DatabricksMCPServer[] {
  return [
    // Example: Add a Genie space
    DatabricksMCPServer.fromGenieSpace("01f1037ebc531bbdb27b875271b31bf4"),

    // Example: Add Databricks SQL
    new DatabricksMCPServer({
      name: "dbsql",
      path: "/api/2.0/mcp/sql",
    }),

    // Example: Add UC functions from a schema
    DatabricksMCPServer.fromUCFunction("my_catalog", "my_schema"),

    // Example: Add vector search
    DatabricksMCPServer.fromVectorSearch(
      "my_catalog",
      "my_schema",
      "my_index"
    ),
  ];
}

Next Steps

After adding MCP servers to your agent:

  1. Grant permissions in databricks.yml (see add-tools skill)
  2. Test locally with npm run dev (see run-locally skill)
  3. Deploy with databricks bundle deploy (see deploy skill)
Repository
databricks/app-templates
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.