TechFabric's Databricks Field Guide: search, explore concepts, quizzes, code review, cost.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Estimate a Databricks workload's monthly cost from the figures the Field Guide states (list prices per DBU by compute type, DBUs an hour by SQL warehouse size and classic instance type, model serving prices for pay-per-token, provisioned throughput, GPU and CPU serving, Apps and Genie rates, the Lakebase floor, storage), as a range with its assumptions, and the price per unit under unit_prices. Every number carries its source sentence, section URL, date and the pricing page the guide cites. Where the guide has no figure (cloud VM prices, a serverless job's DBUs an hour, a model or instance type it does not list) it says so under gaps instead of guessing.
jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storage
apps: medium (the default), large or xlarge; sql_warehouse: the t-shirt size, 2x-small, x-small, small, medium, large, x-large, 2x-large, 3x-large, 4x-large (DBUs an hour per cluster, from the guide); model_serving with serving gpu: t4, a10g, a10g-4, a10g-8, l40s, rtx-pro-6000, a100-40gb-8, a100-80gb-8, h100, h100-8
model_serving, pay_per_token or provisioned_throughput: the model, as in 'Llama 3.3 70B' or 'claude-sonnet-5.5'
genie: the people using it
jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classic
model_serving: pay_per_token, provisioned_throughput, gpu or cpu (omit for every price the guide states)
sql_warehouse: clusters running (default 1)
lakebase: an always-on 0.5 CU floor (the one Lakebase figure the guide quotes)
jobs or all_purpose, classic: instances in the cluster, the driver counted as one; model_serving cpu: Medium configurations
storage: GB held
model_serving, provisioned_throughput: model units (default 50, the block the rates are quoted for; a reservation takes multiples of 50 and bills every hour of its term)
model_serving, provisioned_throughput: on_demand, 1_month or 3_month
sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clusters
DBUs the compute uses an hour, when the guide has no figure for its shape (a serverless job, an instance type it does not list): from system.billing.usage or Databricks' pricing calculator
genie: each user's Genie DBUs a month
jobs or all_purpose, classic: the AWS instance type (m5.xlarge, m5.2xlarge, m6i.xlarge, m7i.xlarge, r5.xlarge, c5.2xlarge, i3.xlarge, i3.2xlarge are in the guide)
Days it runs a month (default 30 with hours_per_day)
Or the DBUs a month outright
model_serving, pay_per_token: input tokens a month, in millions
model_serving, pay_per_token: output tokens a month, in millions
Estimate a Databricks workload's monthly cost from the figures the Field Guide states (list prices per DBU by compute type, DBUs an hour by SQL warehouse size and classic instance type, model serving prices for pay-per-token, provisioned throughput, GPU and CPU serving, Apps and Genie rates, the Lakebase floor, storage), as a range with its assumptions, and the price per unit under unit_prices. Every number carries its source sentence, section URL, date and the pricing page the guide cites. Where the guide has no figure (cloud VM prices, a serverless job's DBUs an hour, a model or instance type it does not list) it says so under gaps instead of guessing.
| Argument | Type | Description |
|---|---|---|
| size | string | apps: medium (the default), large or xlarge; sql_warehouse: the t-shirt size, 2x-small, x-small, small, medium, large, x-large, 2x-large, 3x-large, 4x-large (DBUs an hour per cluster, from the guide); model_serving with serving gpu: t4, a10g, a10g-4, a10g-8, l40s, rtx-pro-6000, a100-40gb-8, a100-80gb-8, h100, h100-8 |
| model | string | model_serving, pay_per_token or provisioned_throughput: the model, as in 'Llama 3.3 70B' or 'claude-sonnet-5.5' |
| users | integer | genie: the people using it |
| compute | string | jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classic |
| serving | string | model_serving: pay_per_token, provisioned_throughput, gpu or cpu (omit for every price the guide states) |
| clusters | integer | sql_warehouse: clusters running (default 1) |
| workload* | string | jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storage |
| always_on | boolean | lakebase: an always-on 0.5 CU floor (the one Lakebase figure the guide quotes) |
| instances | integer | jobs or all_purpose, classic: instances in the cluster, the driver counted as one; model_serving cpu: Medium configurations |
| storage_gb | number | storage: GB held |
| model_units | integer | model_serving, provisioned_throughput: model units (default 50, the block the rates are quoted for; a reservation takes multiples of 50 and bills every hour of its term) |
| reservation | string | model_serving, provisioned_throughput: on_demand, 1_month or 3_month |
| max_clusters | integer | sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clusters |
| dbus_per_hour | number | DBUs the compute uses an hour, when the guide has no figure for its shape (a serverless job, an instance type it does not list): from system.billing.usage or Databricks' pricing calculator |
| dbus_per_user | number | genie: each user's Genie DBUs a month |
| hours_per_day | number | |
| instance_type | string | jobs or all_purpose, classic: the AWS instance type (m5.xlarge, m5.2xlarge, m6i.xlarge, m7i.xlarge, r5.xlarge, c5.2xlarge, i3.xlarge, i3.2xlarge are in the guide) |
| days_per_month | number | Days it runs a month (default 30 with hours_per_day) |
| dbus_per_month | number | Or the DBUs a month outright |
| hours_per_month | number | |
| input_tokens_millions | number | model_serving, pay_per_token: input tokens a month, in millions |
| output_tokens_millions | number | model_serving, pay_per_token: output tokens a month, in millions |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"workload"
],
"properties": {
"size": {
"type": "string",
"maxLength": 20,
"description": "apps: medium (the default), large or xlarge; sql_warehouse: the t-shirt size, 2x-small, x-small, small, medium, large, x-large, 2x-large, 3x-large, 4x-large (DBUs an hour per cluster, from the guide); model_serving with serving gpu: t4, a10g, a10g-4, a10g-8, l40s, rtx-pro-6000, a100-40gb-8, a100-80gb-8, h100, h100-8"
},
"model": {
"type": "string",
"maxLength": 80,
"description": "model_serving, pay_per_token or provisioned_throughput: the model, as in 'Llama 3.3 70B' or 'claude-sonnet-5.5'"
},
"users": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "genie: the people using it"
},
"compute": {
"enum": [
"serverless",
"classic",
"pro"
],
"type": "string",
"description": "jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classic"
},
"serving": {
"enum": [
"pay_per_token",
"provisioned_throughput",
"gpu",
"cpu"
],
"type": "string",
"description": "model_serving: pay_per_token, provisioned_throughput, gpu or cpu (omit for every price the guide states)"
},
"clusters": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "sql_warehouse: clusters running (default 1)"
},
"workload": {
"enum": [
"jobs",
"all_purpose",
"sql_warehouse",
"apps",
"genie",
"lakebase",
"model_serving",
"storage"
],
"type": "string",
"description": "jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storage"
},
"always_on": {
"type": "boolean",
"description": "lakebase: an always-on 0.5 CU floor (the one Lakebase figure the guide quotes)"
},
"instances": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "jobs or all_purpose, classic: instances in the cluster, the driver counted as one; model_serving cpu: Medium configurations"
},
"storage_gb": {
"type": "number",
"maximum": 1000000000,
"minimum": 0,
"description": "storage: GB held"
},
"model_units": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "model_serving, provisioned_throughput: model units (default 50, the block the rates are quoted for; a reservation takes multiples of 50 and bills every hour of its term)"
},
"reservation": {
"enum": [
"on_demand",
"1_month",
"3_month"
],
"type": "string",
"description": "model_serving, provisioned_throughput: on_demand, 1_month or 3_month"
},
"max_clusters": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clusters"
},
"dbus_per_hour": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "DBUs the compute uses an hour, when the guide has no figure for its shape (a serverless job, an instance type it does not list): from system.billing.usage or Databricks' pricing calculator"
},
"dbus_per_user": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "genie: each user's Genie DBUs a month"
},
"hours_per_day": {
"type": "number",
"maximum": 24,
"minimum": 0
},
"instance_type": {
"type": "string",
"maxLength": 40,
"description": "jobs or all_purpose, classic: the AWS instance type (m5.xlarge, m5.2xlarge, m6i.xlarge, m7i.xlarge, r5.xlarge, c5.2xlarge, i3.xlarge, i3.2xlarge are in the guide)"
},
"days_per_month": {
"type": "number",
"maximum": 31,
"minimum": 1,
"description": "Days it runs a month (default 30 with hours_per_day)"
},
"dbus_per_month": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Or the DBUs a month outright"
},
"hours_per_month": {
"type": "number",
"maximum": 744,
"minimum": 0
},
"input_tokens_millions": {
"type": "number",
"maximum": 10000000,
"minimum": 0,
"description": "model_serving, pay_per_token: input tokens a month, in millions"
},
"output_tokens_millions": {
"type": "number",
"maximum": 10000000,
"minimum": 0,
"description": "model_serving, pay_per_token: output tokens a month, in millions"
}
},
"additionalProperties": false
}One chapter (or margin note) of the guide as clean Markdown with its code blocks intact, or one section of it: with its outline, its code blocks listed separately, its FAQs, when it last changed, and the official docs.databricks.com links it cites for the authoritative detail.
| Argument | Type | Description |
|---|---|---|
| slug* | string | A chapter's slug (lakebase, unity-catalog, start-here), a note's slug, or a guide URL or path. list_chapters has them; the field-guide-chapter prompt completes them. |
| section | string | One section only: its anchor (from search_guide, list_chapters or the outline) or its heading. Omit for the whole chapter. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A chapter's slug (lakebase, unity-catalog, start-here), a note's slug, or a guide URL or path. list_chapters has them; the field-guide-chapter prompt completes them."
},
"section": {
"type": "string",
"maxLength": 200,
"description": "One section only: its anchor (from search_guide, list_chapters or the outline) or its heading. Omit for the whole chapter."
}
},
"additionalProperties": false
}The SQL, Python, CLI and config blocks in the guide that match a topic, each with the explanation around it, the section it is from (URL with anchor), and the docs links that section cites. Runnable context for a coding agent; check the linked Databricks docs for current syntax.
| Argument | Type | Description |
|---|---|---|
| lang | string | Only this language: sql, python, bash, yaml, json, hcl ... |
| limit | integer | How many examples (default 8) |
| topic* | string | What the code should do or touch, e.g. 'lakebase branch', 'auto loader', 'row filter' |
| chapter | string | Only examples from this chapter or note: its slug (lakebase, unity-catalog), path or URL. list_chapters has them; the field-guide-code prompt completes them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"lang": {
"type": "string",
"maxLength": 20,
"description": "Only this language: sql, python, bash, yaml, json, hcl ..."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many examples (default 8)"
},
"topic": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "What the code should do or touch, e.g. 'lakebase branch', 'auto loader', 'row filter'"
},
"chapter": {
"type": "string",
"maxLength": 500,
"description": "Only examples from this chapter or note: its slug (lakebase, unity-catalog), path or URL. list_chapters has them; the field-guide-code prompt completes them."
}
},
"additionalProperties": false
}Every chapter in the guide's order, with its part, summary, dates, URL, Markdown URL and its main sections; and the margin notes.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Check one file of SQL, Python (PySpark, a notebook's source) or YAML (a Databricks Asset Bundle, job, cluster or warehouse config) against the Field Guide's own best-practice rules, deterministically: partitioning where the guide would cluster, secrets and storage paths written into code, grants to people rather than groups, environments in table names, jobs on all-purpose clusters or without timeouts, warehouses and clusters without auto-stop, bundle targets without their modes, and the rest of the rules the chapters state. Each finding gives the line, why, the fix, the guide's passage verbatim with its section URL, and the docs.databricks.com links the guide cites for it; the result also lists the sections worth reading for this code. No model is called: weigh the findings yourself. One file per call.
| Argument | Type | Description |
|---|---|---|
| code* | string | The file's contents: SQL, Python (PySpark, a notebook's source) or YAML (a Databricks Asset Bundle, job, cluster or warehouse config). At most 48000 characters; review a larger file in parts. |
| lang | string | sql, python or yaml. Omit to detect it from the filename or the code. |
| filename | string | The file's path in the repository, e.g. resources/nightly.job.yml: used to detect the language and echoed back |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 48000,
"minLength": 1,
"description": "The file's contents: SQL, Python (PySpark, a notebook's source) or YAML (a Databricks Asset Bundle, job, cluster or warehouse config). At most 48000 characters; review a larger file in parts."
},
"lang": {
"enum": [
"sql",
"python",
"yaml"
],
"type": "string",
"description": "sql, python or yaml. Omit to detect it from the filename or the code."
},
"filename": {
"type": "string",
"maxLength": 300,
"description": "The file's path in the repository, e.g. resources/nightly.job.yml: used to detect the language and echoed back"
}
},
"additionalProperties": false
}Search the guide's chapters, margin notes and events for a Databricks question. Returns the best sections first, each with a snippet, its URL with the section anchor, and when the page last changed. Read one in full with get_chapter (pass the URL, or the slug and the anchor).
| Argument | Type | Description |
|---|---|---|
| kind | string | Only chapters, margin notes (dated news with our position), feature pages or events |
| limit | integer | How many results (default 10) |
| query* | string | The question or topic in plain words, e.g. 'lakebase branch' or 'unity catalog row filters' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"chapter",
"note",
"feature",
"event"
],
"type": "string",
"description": "Only chapters, margin notes (dated news with our position), feature pages or events"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many results (default 10)"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The question or topic in plain words, e.g. 'lakebase branch' or 'unity catalog row filters'"
}
},
"additionalProperties": false
}Recent Databricks changes the guide tracks, newest first: margin notes (dated news with our position), release-stage changes from the feature register (with links to Databricks' documentation and release note), and chapters updated. Defaults to the last 30 days.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many items (default 30) |
| since | string | Changes on or after this day, YYYY-MM-DD (default: the last 30 days) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "How many items (default 30)"
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Changes on or after this day, YYYY-MM-DD (default: the last 30 days)"
}
},
"additionalProperties": false
}