Databricks Field Guide by TechFabric
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search and read TechFabric's Databricks Field Guide, with interactive views in MCP Apps hosts.
| Author | com.techfabric.databricks |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2845 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Databricks Field Guide by TechFabric": {
"url": "https://databricks.techfabric.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
start_hereread-onlyStart using the Field Guide immediately. Call this for 'help me learn Databricks', 'try the Field Guide', or to begin certification prep. No arguments starts a Unity Catalog diagnostic. A topic opens its concept or chapter quiz; goal certification with an exam opens a covered domain's practice and flashcards, with official sources and honest gaps. An MCP Apps host opens the interactive card first; a terminal asks one question at a time. This is a learning companion, not a replacement for the Databricks development plugin. No sign-in, workspace access or saved personal data.
Parameters:
exam— string — A certification id from exam_prep; implies certification. Defaults to data-engineer-associate.goal— string — Learn by doing (default), or begin certification practicetopic— string — A concept or chapter; omit for a Unity Catalog diagnostic
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_guideread-onlySearch 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).
Parameters:
query(required) — string — The question or topic in plain words, e.g. 'lakebase branch' or 'unity catalog row filters'kind— string — Only chapters, margin notes (dated news with our position), feature pages or eventslimit— integer — How many results (default 10)
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_chapterread-onlyOne 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.
Parameters:
slug(required) — 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_code_examplesread-onlyThe 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.
Parameters:
topic(required) — string — What the code should do or touch, e.g. 'lakebase branch', 'auto loader', 'row filter'lang— string — Only this language: sql, python, bash, yaml, json, hcl ...limit— integer — How many examples (default 8)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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
whats_newread-onlyRecent 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.
Parameters:
limit— integer — How many items (default 30)since— string — Changes on or after this day, YYYY-MM-DD (default: the last 30 days)
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_chaptersread-onlyEvery chapter in the guide's order, with its part, summary, dates, URL, Markdown URL and its main sections; and the margin notes.
Hints: read-only yes · destructive no · idempotent yes · open-world no
review_databricks_coderead-onlyCheck 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.
Parameters:
code(required) — 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
Hints: read-only yes · destructive no · idempotent yes · open-world no
estimate_costread-onlyEstimate 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.
Parameters:
workload(required) — string — jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storagesize— 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-8model— 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 itcompute— string — jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classicserving— 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)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 configurationsstorage_gb— number — storage: GB heldmodel_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_monthmax_clusters— integer — sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clustersdbus_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 calculatordbus_per_user— number — genie: each user's Genie DBUs a monthhours_per_day— numberinstance_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 outrighthours_per_month— numberinput_tokens_millions— number — model_serving, pay_per_token: input tokens a month, in millionsoutput_tokens_millions— number — model_serving, pay_per_token: output tokens a month, in millions
Hints: read-only yes · destructive no · idempotent yes · open-world no
explore_conceptread-onlyInteractive: explains one Databricks concept step by step from the Field Guide's chapters: delta-transaction-log, liquid-clustering-vs-zorder, spark-shuffle-and-stages, unity-catalog-privilege-inheritance, photon-vs-classic-cost, cluster-autoscaling, streaming-watermarks, medallion-layers, lakebase-branching, serverless-vs-classic, mlflow-model-lifecycle. Call it first when the user asks "how does the Delta transaction log work?", "show me watermarks step by step" or "visualise Unity Catalog privilege inheritance", rather than answering from memory or running code. Every point comes with the guide's own sentence and its section URL; the result also carries a worked example and the data an interactive model draws (a Delta log to step through, files skipped under each layout, Spark stages and skew, Unity Catalog grants on a tree, cost curves from the guide's rates, a warehouse's day, a watermark timeline, and more), with what the model assumes said apart from what the guide states. In a host that renders MCP Apps it opens as an interactive view; the text is complete without it. Unknown or no concept: the list.
Parameters:
concept— string — The concept: delta-transaction-log, liquid-clustering-vs-zorder, spark-shuffle-and-stages, unity-catalog-privilege-inheritance, photon-vs-classic-cost, cluster-autoscaling, streaming-watermarks, medallion-layers, lakebase-branching, serverless-vs-classic, mlflow-model-lifecycle. A plain name works too ("watermarks", "z-order", "photon"). Omit it, or name one that isn't there, for the list.
Hints: read-only yes · destructive no · idempotent yes · open-world no
quiz_meread-onlyInteractive: quizzes the reader. Call it when the user says "quiz me on Unity Catalog", "test me on Lakebase" or "check what I know about the Delta log". Five to eight multiple-choice questions on a chapter of the Field Guide, one section of it, or the whole guide, built deterministically from the guide's own tables, question-headed sections, FAQs and glossary: every question and every option is a phrase the guide states, and no model writes them. Each has its answer, the guide's explanation and the section URL. In a host that renders MCP Apps the reader answers and is scored in the view. In a terminal whose client shows forms (elicitation), each question is asked as a form and the score comes back with the explanations. Otherwise the text lists the questions and answers: ask the reader each one before revealing it, then call quiz_me again with the same chapter and section and their answers to score them. A reader who kept a resume code (Keep my progress, in a host without Fabric's view state) picks up with quiz_me and resume alone.
Parameters:
exam— string — Instead of a chapter: practice for a certification exam's domain (needs domain): data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate, machine-learning-professional, genai-engineer-associate, context-engineer-associate, apache-spark-developer-associatedomain— string — The exam's domain id, as exam_prep lists themresume— string — A resume code the reader kept from an earlier quiz (it starts kp1.): picks up where they left off. The code names its own chapter or exam domain, so nothing else is needed.answers— array — The reader's answers, in question order, to score them: a letter (A to H) or an option's exact words, "" or "-" for none. Send the same chapter and section as the quiz that was asked.chapter— string — A chapter's slug (unity-catalog, lakebase), path or URL; list_chapters has them. Omit for questions from across the guide.section— string — One section of that chapter: its anchor or heading. Needs chapter.
Hints: read-only yes · destructive no · idempotent yes · open-world no
learn_pathread-onlyInteractive: a curated learning path through the Field Guide, by role or goal (data-engineer-fundamentals, analytics-engineer, ml-engineer, platform-admin, snowflake-to-databricks, cost-control): its steps in order (a section to read, a concept to explore, a quiz), each with the call that opens it. Call it when the user asks "where do I start with Databricks", "a learning path for an analytics engineer" or "what should I learn next". Progress lives with the reader: send the steps done back as done. In a host that renders MCP Apps it opens as a map of the route with each step's story; the text is complete without it. No path: the list.
Parameters:
done— array — The steps the reader has done, by number or id (from an earlier result): progress lives with the reader, not the serverpath— string — The path: data-engineer-fundamentals, analytics-engineer, ml-engineer, platform-admin, snowflake-to-databricks, cost-control. Omit it for the list.
Hints: read-only yes · destructive no · idempotent yes · open-world no
exam_prepread-onlyInteractive: certification prep for Databricks' exams (data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate, machine-learning-professional, genai-engineer-associate, context-engineer-associate, apache-spark-developer-associate): each domain with its weight as Databricks publishes it, the guide sections and concepts that bear on it, how much the guide covers it (said honestly, gaps included), the official exam page and guide, and practice questions from the guide's own text for one domain. Call it when the user says "help me prepare for the Data Engineer Associate" or "quiz me for the exam". Not affiliated with Databricks; no exam question is reproduced.
Parameters:
exam— string — The exam: data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate, machine-learning-professional, genai-engineer-associate, context-engineer-associate, apache-spark-developer-associate. Omit it for the list.domain— string — One of the exam's domains (its id, from the result), for its practice questions
Hints: read-only yes · destructive no · idempotent yes · open-world no
flashcardsread-onlyInteractive: flashcards for a Databricks exam domain (data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate, machine-learning-professional, genai-engineer-associate, context-engineer-associate, apache-spark-developer-associate; exam_prep lists the domains) or a chapter, built deterministically from the Field Guide: glossary terms, FAQs and each mapped section's lead sentence. The back of every card is the guide's own sentence with its section URL; a domain the guide doesn't cover says so. Call it when the user says "flashcards for the Data Engineer Associate's governance domain" or "drill me on Unity Catalog terms". In a host that renders MCP Apps the reader turns the cards and marks them Got it or Review again, and can keep a resume code to pick up later (send it back as resume, alone); the text lists every card.
Parameters:
exam— string — An exam (data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate, machine-learning-professional, genai-engineer-associate, context-engineer-associate, apache-spark-developer-associate), with one of its domainsdomain— string — The exam's domain id, as exam_prep lists themresume— string — A resume code the reader kept from an earlier flashcards (it starts kp1.): picks up where they left off. The code names its own exam domain or chapter, so nothing else is needed.chapter— string — Or a chapter: its slug or URL
Hints: read-only yes · destructive no · idempotent yes · open-world no
visualizeread-onlyInteractive: draws your answer as a card the reader can use, from an A2UI v0.9.1 document you write: a comparison of options with a verdict, a plan as steps or a timeline, a cost or sizing calculator with sliders and a chart that follows them, a quiz or flashcards, a table, a Mermaid diagram. Call it whenever the answer has a shape: the reader asks to compare ("compare", "X vs Y", "pros and cons", "trade-offs", "which is better for"), for a plan ("plan", "roadmap", "migration steps", "rollout", "timeline"), to "show me", "explain how", "draw", "chart" or "visualise" something, or for "a table of" options, rather than answering with a long Markdown table or list. A concept explore_concept knows, a decision decide has a tree for, and a cost estimate_cost prices go to those tools first. For a Databricks question, first get the facts with search_guide or get_chapter, put them in the document, and pass those URLs as sources: only pages of the Field Guide are listed as sources, and the card is labelled "Composed by your assistant". In a host that renders MCP Apps it opens as an interactive card; the text result renders the whole document, so it is complete without the view. Nothing is stored and no model is called; a document that won't draw comes back as the spec's VALIDATION_FAILED list to fix (the tool checks the document's structure, not its facts).
Parameters:
document(required) — string — An A2UI v0.9.1 document: messages as JSONL, one a line (createSurface, updateDataModel, updateComponents), or a JSON array of them. Use Fabric's catalog (https://agents.fabric.pro/a2ui/v0.9/fabric_catalog.json: the basic catalog plus Chart, Stat, Callout, Steps, Quiz, Flashcards, Timeline, Compare, Diagram, Code, Table; functions calc and formatValue) or the basic one. Exactly one component has id "root".title— string — The card's title, in plain wordssources— array — The Field Guide URLs (with #anchor) whose facts the document uses, from search_guide or get_chapter. Each is checked: a page of the guide is cited as a source; anything else is listed as not from the guide.
Hints: read-only yes · destructive no · idempotent yes · open-world no
decideread-onlyInteractive: walks a Databricks decision one question at a time (which-compute, serverless-or-classic, lakebase-or-delta, genie-or-dashboard, streaming-or-batch): every answer rests on the guide's own sentences, verbatim, with the section to read. Call it when the user asks "should I use serverless or classic", "Lakebase or Delta?", "Genie or a dashboard?" or "which compute for this job". The text gives the whole tree; send choices (option numbers so far) for the answer. In a terminal that shows forms it asks each question as a form.
Parameters:
choices— array — The reader's choices so far, as option numbers from the first question: the result then carries where they are, or the answerquestion— string — The decision, in plain words or by id: which-compute, serverless-or-classic, lakebase-or-delta, genie-or-dashboard, streaming-or-batch. Omit it for the list.
Hints: read-only yes · destructive no · idempotent yes · open-world no
explore_diagramread-onlyInteractive: a chapter's own diagrams, played step by step: each flowchart edge or sequence message in order, each node linking the section of the chapter it is about. Call it when the user says "show me the diagram for Lakebase branching" or "walk me through the medallion diagram". The text lists every diagram's nodes, its edges in order and its Mermaid source, so a terminal can draw it.
Parameters:
chapter(required) — string — A chapter's slug (lakebase, medallion-architecture), path or URL; list_chapters has themsection— string — Only the diagrams in this section: its anchor or heading
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.