Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions experimental/apps-mcp/lib/prompts/flow.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,17 @@
*/ -}}

## Databricks MCP Available Tools
- **databricks_discover**: Discover workspace resources and get workflow recommendations
- **databricks_discover**: MUST call first - returns scaffolding commands
- **invoke_databricks_cli**: Execute CLI commands including init-template for scaffolding
- **databricks_configure_auth**: Switch workspace profile/host
- **invoke_databricks_cli**: Execute any Databricks CLI command

## Workflow Best Practices
- Use `databricks_discover` at the beginning of your session to get context-aware recommendations
- For operations affecting live environments, ask for confirmation
- Always validate before deploying
- When not sure about the user's intent, ask clarifying questions
## Critical Workflow Rules
1. ALWAYS call databricks_discover FIRST to get scaffolding guidance
2. For new apps: use invoke_databricks_cli with init-template (see below)
3. For scaffolding: NEVER use `npm create vite` or `npx create-vite` - init-template creates proper Databricks bundle
4. For development: `npm run dev`, `npm install`, `npm run build` are OK after scaffolding
5. Validate before deploying
6. Ask for confirmation on live environment changes

{{.WorkspaceInfo}}{{if .WarehouseName}}
Default SQL Warehouse: {{.WarehouseName}} ({{.WarehouseID}}){{else}}
Expand Down
6 changes: 4 additions & 2 deletions experimental/apps-mcp/lib/providers/clitools/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,10 @@ func (p *Provider) RegisterTools(server *mcpsdk.Server) error {

mcpsdk.AddTool(server,
&mcpsdk.Tool{
Name: "databricks_discover",
Description: "Discover available Databricks workspaces, warehouses, and get workflow recommendations. Call this FIRST when planning ANY Databricks work involving apps, dashboards, pipelines, jobs, bundles, or SQL workflows. Returns workspace capabilities and recommended tooling.",
Name: "databricks_discover",
Description: `CALL THIS FIRST before any Databricks work. Returns essential scaffolding commands, workflow guidance, and guidance on writing and editing Databricks source code.

This tool provides context needed for scaffolding new projects, editing existing code, deploying bundles, and querying data. Without calling this first, you won't know the correct CLI patterns or workspace configuration.`,
},
func(ctx context.Context, req *mcpsdk.CallToolRequest, args DiscoverInput) (*mcpsdk.CallToolResult, any, error) {
log.Debugf(ctx, "databricks_discover called: working_directory=%s", args.WorkingDirectory)
Expand Down