# Databricks Field Guide by TechFabric (remote · databricks.techfabric.com)

Interactive Databricks learning, certification practice and sourced engineering guidance.

- Trust score: 80/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `databricks.techfabric.com`: 80/100 (this document), [markdown](https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks.md), [page](https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks)

## Channel facts

- Endpoint: `https://databricks.techfabric.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.11.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 9959 tokens (~114/item across 87 items; 18 tools + 69 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 57/100
  - Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the Databricks Field Guide by TechFabric MCP server?

Databricks Field Guide by TechFabric is a hosted endpoint at https://databricks.techfabric.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-techfabric-databricks-field-guide 'https://databricks.techfabric.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-techfabric-databricks-field-guide": {
      "url": "https://databricks.techfabric.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-techfabric-databricks-field-guide": {
      "type": "http",
      "url": "https://databricks.techfabric.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-techfabric-databricks-field-guide]
url = "https://databricks.techfabric.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-techfabric-databricks-field-guide": {
      "type": "remote",
      "url": "https://databricks.techfabric.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-techfabric-databricks-field-guide --url 'https://databricks.techfabric.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-techfabric-databricks-field-guide:
    url: "https://databricks.techfabric.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-techfabric-databricks-field-guide": {
      "Transport": "http",
      "Url": "https://databricks.techfabric.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-techfabric-databricks-field-guide -t streamable-http -u 'https://databricks.techfabric.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-techfabric-databricks-field-guide": {
      "type": "http",
      "url": "https://databricks.techfabric.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 80, +1)

- [functional] New resource “notes/real-time-mode-in-lakeflow-pipelines-is-now”
- [functional] New resource “notes/smarter-cost-controls-for-serverless”
- [functional] New resource “notes/upcoming-end-of-life-for-the-genie-one”

### 2026-11-02 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 78, 0)

- [functional] Server version: 1.11.0 → 1.11.1

### 2026-10-30 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 77, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “flashcards” rewrote its description, which is the text the model reads
- [functional] New resource “notes/ai-functions-unity-catalog-permissions-is-now-generally”
- [functional] Server version: 1.10.0 → 1.11.0
- [cosmetic] “exam_prep” added an optional parameter “done”
- [cosmetic] “exam_prep” added an optional parameter “step”
- [cosmetic] “explore_concept” added an optional parameter “done”
- [cosmetic] “explore_concept” added an optional parameter “exam”
- [cosmetic] “explore_concept” added an optional parameter “step”
- [cosmetic] “flashcards” added an optional parameter “done”

### 2026-10-27 (score 76, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “decide” rewrote its description, which is the text the model reads
- [security] Tool “explore_concept” rewrote its description, which is the text the model reads
- [security] Tool “flashcards” rewrote its description, which is the text the model reads
- [security] Tool “quiz_me” rewrote its description, which is the text the model reads
- [security] Tool “visualize” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 8460 → 9587
- [functional regression] Schema quality: 8460 → 9398
- [functional] New prompt “decide”
- [functional] New prompt “visualize”
- [functional] New resource “guide/databricks-toolkit”
- [functional] Server version: 1.9.1 → 1.10.0
- [functional] Server version: 1.8.0 → 1.9.1
- [functional] New tool “toolkit_generate”
- [functional] New tool “toolkit_info”
- [cosmetic] “decide” added an optional parameter “form”
- [cosmetic] “explore_concept” added an optional parameter “form”
- [cosmetic] “quiz_me” added an optional parameter “form”
- [cosmetic] “flashcards” added an optional parameter “resume”
- [cosmetic] “quiz_me” added an optional parameter “resume”
- [cosmetic] “estimate_cost” reworded the description of “compute”
- [cosmetic] “estimate_cost” reworded the description of “size”

### 2026-10-26 (score 76, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] New prompt “start”
- [functional] New resource “notes/asynchronous-processing-with-transformwithstate-is-now-generally-available”
- [functional] New resource “notes/files-api-3-0-for-unity-catalog-volumes”
- [functional] New resource “notes/lakeflow-pipelines-system-tables-are-now-generally-available”
- [functional] New resource “notes/serverless-job-environments-from-pyproject-toml-beta”
- [functional] Server version: 1.7.4 → 1.8.0
- [functional] New tool “start_here”

### 2026-10-25 (score 76, +1)

- [security] Tool “exam_prep” rewrote its description, which is the text the model reads
- [security] Tool “flashcards” rewrote its description, which is the text the model reads
- [functional] Server version: 1.7.2 → 1.7.4
- [cosmetic] “exam_prep” reworded the description of “exam”
- [cosmetic] “flashcards” reworded the description of “exam”
- [cosmetic] “quiz_me” reworded the description of “exam”

## MCP tools (18)

### `start_here` (~184 tokens)

Start learning Databricks

Start 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.

Input 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 practice
- `topic` (string): A concept or chapter; omit for a Unity Catalog diagnostic

Output parameters:

- `asked` (string|null)
- `assumptions` (array)
- `available` (array)
- `build` (string|null): The commit of the deploy that answered
- `chapter` (object|null)
- `concept` (string|null): The concept's id; null when none matched (see available)
- `coverage` (object|null)
- `disclaimer` (string)
- `domain` (string|null)
- `domains` (array)
- `exam` (string|null)
- `explanation` (array)
- `flashcards` (object|null): The domain's flashcards, as the flashcards tool returns them (structured content only)
- `guide` (object|null): Guided mode for the view: steps, each a short title, one of the guide's points as its body, an optional tip, an illustrative scene and the section it cites; then a recap
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `keep` (object|null): For an interactive view: what its Keep my progress button makes a resume code from (scope), and the reader's place when a resume code was sent (resumed). Holds no personal data; nothing is stored on…
- `note` (string)
- `official` (object|null)
- `onboarding` (object)
- `plan` (object|null): The guided plan: each domain, heaviest first, read, try the model, quiz; with the reader's progress (from done) and its next step
- `plan_step` (object|null): Opened from an exam plan: this step's place (n of total), the steps done with this one, the plan's next step, and back, the call that returns to the plan
- `practice` (object|null): The domain's practice quiz, as quiz_me returns one
- `practices` (object|null): Each covered domain's practice quiz, by domain id, for the plan's quiz steps
- `questions` (array)
- `related` (array)
- `scope` (object)
- `score` (object|null): The reader's score, when they answered (answers, or the questions asked one at a time by elicitation); null otherwise
- `sections` (array)
- `sim` (object|null): The data the interactive view animates; its numbers are a model, said under assumptions, except the rates, which are the guide's
- `step` (string|null): The plan step asked for, where the card opens
- `summary` (string)
- `title` (string)
- `total` (integer)
- `try` (array)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `what_next` (array): What to do after this concept, as calls: from a plan, its next step and back to it; a quiz on it; the next concept
- `withheld` (array)

### `search_guide` (~137 tokens)

Search the guide

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).

Input parameters:

- `kind` (string): Only chapters, margin notes (dated news with our position), feature pages or events
- `limit` (integer): How many results (default 10)
- `query` (string, required): The question or topic in plain words, e.g. 'lakebase branch' or 'unity catalog row filters'

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `kind` (string|null)
- `next` (object|null): When this is about a concept the guide explains interactively: the call for a step-by-step walkthrough
- `query` (string)
- `results` (array)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `get_chapter` (~153 tokens)

Read a chapter

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.

Input parameters:

- `section` (string): One section only: its anchor (from search_guide, list_chapters or the outline) or its heading. Omit for the whole chapter.
- `slug` (string, required): 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.

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `code` (array)
- `docs` (array)
- `faqs` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `kind` (string)
- `markdown` (string): The chapter or section as Markdown, code blocks intact; links are absolute
- `markdown_url` (string)
- `next` (object|null): When this is about a concept the guide explains interactively: the call for a step-by-step walkthrough
- `outline` (array)
- `part` (string|null)
- `published` (string|null)
- `section` (object|null)
- `slug` (string)
- `summary` (string)
- `title` (string)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `updated` (string|null): When the page last changed, YYYY-MM-DD
- `url` (string)

### `get_code_examples` (~178 tokens)

Find code examples

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.

Input parameters:

- `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.
- `lang` (string): Only this language: sql, python, bash, yaml, json, hcl ...
- `limit` (integer): How many examples (default 8)
- `topic` (string, required): What the code should do or touch, e.g. 'lakebase branch', 'auto loader', 'row filter'

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `examples` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `lang` (string|null)
- `topic` (string)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `whats_new` (~100 tokens)

What's new in Databricks

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.

Input parameters:

- `limit` (integer): How many items (default 30)
- `since` (string): Changes on or after this day, YYYY-MM-DD (default: the last 30 days)

Output parameters:

- `board` (string): The feature status board
- `build` (string|null): The commit of the deploy that answered
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `items` (array)
- `register_updated` (string|null)
- `since` (string)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `list_chapters` (~39 tokens)

List chapters

Every chapter in the guide's order, with its part, summary, dates, URL, Markdown URL and its main sections; and the margin notes.

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `chapters` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `notes` (array)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `review_databricks_code` (~292 tokens)

Review Databricks code

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.

Input parameters:

- `code` (string, required): 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.
- `filename` (string): The file's path in the repository, e.g. resources/nightly.job.yml: used to detect the language and echoed back
- `lang` (string): sql, python or yaml. Omit to detect it from the filename or the code.

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `filename` (string|null)
- `findings` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `lang` (string)
- `lines` (integer)
- `note` (string)
- `rules_checked` (array)
- `sections` (array)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `withheld` (array)

### `estimate_cost` (~901 tokens)

Estimate Databricks cost

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.

Input parameters:

- `always_on` (boolean): lakebase: an always-on 0.5 CU floor (the one Lakebase figure the guide quotes)
- `clusters` (integer): sql_warehouse: clusters running (default 1)
- `compute` (string): jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classic, or lakehouse_rt (Beta) priced from DBUs you give
- `days_per_month` (number): Days it runs a month (default 30 with hours_per_day)
- `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_month` (number): Or the DBUs a month outright
- `dbus_per_user` (number): genie: each user's Genie DBUs a month
- `hours_per_day` (number)
- `hours_per_month` (number)
- `input_tokens_millions` (number): model_serving, pay_per_token: input tokens a month, in millions
- `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)
- `instances` (integer): jobs or all_purpose, classic: instances in the cluster, the driver counted as one; model_serving cpu: Medium configurations
- `max_clusters` (integer): sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clusters
- `model` (string): model_serving, pay_per_token or provisioned_throughput: the model, as in 'Llama 3.3 70B' or 'claude-sonnet-5.5'
- `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)
- `output_tokens_millions` (number): model_serving, pay_per_token: output tokens a month, in millions
- `reservation` (string): model_serving, provisioned_throughput: on_demand, 1_month or 3_month
- `serving` (string): model_serving: pay_per_token, provisioned_throughput, gpu or cpu (omit for every price the guide states)
- `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, 5x-large (DBUs an hour per cluster, from…
- `storage_gb` (number): storage: GB held
- `users` (integer): genie: the people using it
- `workload` (string, required): jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storage

Output parameters:

- `assumptions` (array)
- `build` (string|null): The commit of the deploy that answered
- `calculator` (object|null): For an interactive view: the inputs as asked and this workload's rates from the guide, to recompute the estimate locally. Not in the text result.
- `compute` (string|null)
- `currency`
- `figures` (array)
- `gaps` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `lines` (array)
- `monthly_usd` (object|null): The estimate, a month; null where the guide has no figure for it (see gaps)
- `note` (string)
- `pricing_links` (array)
- `size` (string|null)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `unit_prices` (array): The price per unit the guide's figures give (a cluster-hour, a million tokens, an endpoint-hour), with or without usage
- `withheld` (array)
- `workload` (string)

### `explore_concept` (~514 tokens)

Explore a Databricks concept

Interactive: 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 (with form: true, a terminal that shows forms asks which).

Input 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, meda…
- `done` (array): With exam: the plan steps done so far, by number or id
- `exam` (string): Opened from an exam_prep plan: the exam's id, so the card says which step this is and its Next returns to the plan
- `form` (boolean): true: with no concept (or one that isn't there), in a client that shows forms and no MCP Apps view, ask the reader which concept to step through. Left out, the result is the list.
- `step` (string): With exam: the plan step this card was opened from (its id, as the plan's call gives it)

Output parameters:

- `asked` (string|null)
- `assumptions` (array)
- `available` (array)
- `build` (string|null): The commit of the deploy that answered
- `chapter` (object|null)
- `concept` (string|null): The concept's id; null when none matched (see available)
- `explanation` (array)
- `guide` (object|null): Guided mode for the view: steps, each a short title, one of the guide's points as its body, an optional tip, an illustrative scene and the section it cites; then a recap
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `plan_step` (object|null): Opened from an exam plan: this step's place (n of total), the steps done with this one, the plan's next step, and back, the call that returns to the plan
- `related` (array)
- `sections` (array)
- `sim` (object|null): The data the interactive view animates; its numbers are a model, said under assumptions, except the rates, which are the guide's
- `summary` (string)
- `title` (string)
- `try` (array)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `what_next` (array): What to do after this concept, as calls: from a plan, its next step and back to it; a quiz on it; the next concept
- `withheld` (array)

### `quiz_me` (~538 tokens)

Quiz me on the guide

Interactive: 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), send form: true when the reader wants each question asked as a form; 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.

Input parameters:

- `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.
- `domain` (string): The exam's domain id, as exam_prep lists them
- `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-learn…
- `form` (boolean): true: in a client that shows forms (elicitation) and no MCP Apps view, ask the reader each question as a form and return the result. Send it only when the reader wants to answer in forms; left out, t…
- `resume` (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.
- `section` (string): One section of that chapter: its anchor or heading. Needs chapter.

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `keep` (object|null): For an interactive view: what its Keep my progress button makes a resume code from (scope), and the reader's place when a resume code was sent (resumed). Holds no personal data; nothing is stored on…
- `note` (string)
- `questions` (array)
- `scope` (object)
- `score` (object|null): The reader's score, when they answered (answers, or the questions asked one at a time by elicitation); null otherwise
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `learn_path` (~240 tokens)

Follow a Databricks learning path

Interactive: 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.

Input parameters:

- `done` (array): The steps the reader has done, by number or id (from an earlier result): progress lives with the reader, not the server
- `path` (string): The path: data-engineer-fundamentals, analytics-engineer, ml-engineer, platform-admin, snowflake-to-databricks, cost-control. Omit it for the list.

Output parameters:

- `asked` (string|null)
- `available` (array)
- `build` (string|null): The commit of the deploy that answered
- `for` (string|null)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `level` (string|null)
- `next` (object|null)
- `path` (string|null)
- `progress` (object|null)
- `steps` (array)
- `title` (string)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `withheld` (array)

### `exam_prep` (~311 tokens)

Prepare for a Databricks certification

Interactive: 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.

Input parameters:

- `domain` (string): One of the exam's domains (its id, from the result), for its practice questions
- `done` (array): The plan steps the reader has done, by number or id (from an earlier result): progress lives with the reader, not the server
- `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,…
- `step` (string): The plan step to open at (its id, as the step's call gives it)

Output parameters:

- `asked` (string|null)
- `available` (array)
- `build` (string|null): The commit of the deploy that answered
- `coverage` (object|null)
- `disclaimer` (string)
- `domain` (string|null)
- `domains` (array)
- `exam` (string|null)
- `flashcards` (object|null): The domain's flashcards, as the flashcards tool returns them (structured content only)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `official` (object|null)
- `plan` (object|null): The guided plan: each domain, heaviest first, read, try the model, quiz; with the reader's progress (from done) and its next step
- `practice` (object|null): The domain's practice quiz, as quiz_me returns one
- `practices` (object|null): Each covered domain's practice quiz, by domain id, for the plan's quiz steps
- `step` (string|null): The plan step asked for, where the card opens
- `title` (string)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `flashcards` (~386 tokens)

Flashcards from the guide

Interactive: 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 Not yet, and can keep a resume code to pick up later (send it back as resume, alone); the text lists every card.

Input parameters:

- `chapter` (string): Or a chapter: its slug or URL
- `domain` (string): The exam's domain id, as exam_prep lists them
- `done` (array): Opened from an exam_prep plan (with exam and domain): the plan steps done so far, so the deck says its step and its Next returns to the plan
- `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,…
- `resume` (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.

Output parameters:

- `cards` (array)
- `gaps` (array)
- `how` (string): What to do with a card
- `keep` (object|null): For an interactive view: what its Keep my progress button makes a resume code from (scope), and the reader's place when a resume code was sent (resumed). Holds no personal data; nothing is stored on…
- `note` (string)
- `plan_step` (object|null): Opened from an exam plan: the domain's step (n of total), the plan's next step, and back, the call that returns to the plan
- `scope` (object)

### `visualize` (~514 tokens)

Draw an answer

Interactive: 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).

Input parameters:

- `document` (string, required): 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_ca…
- `sources` (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…
- `title` (string): The card's title, in plain words

Output parameters:

- `document` (array): The document's messages, as parsed
- `errors` (array)
- `note` (string)
- `provenance` (string): Always: Composed by your assistant
- `sources` (array)
- `surfaces` (array)
- `title` (string)
- `unverified` (array)

### `decide` (~278 tokens)

Decide with the guide

Interactive: 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, form: true asks each question as a form.

Input 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 answer
- `form` (boolean): true: in a client that shows forms (elicitation) and no MCP Apps view, ask the reader each question of the decision as a form and return the result. Send it only when the reader wants to answer in fo…
- `question` (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.

Output parameters:

- `asked` (string|null)
- `available` (array)
- `build` (string|null): The commit of the deploy that answered
- `current` (string|null)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `nodes` (array)
- `result` (string|null): The answer reached, when the choices reach one
- `start` (string|null)
- `title` (string)
- `tree` (string|null)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds
- `walk` (array)
- `withheld` (array)

### `explore_diagram` (~143 tokens)

Play a chapter's diagrams

Interactive: 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.

Input parameters:

- `chapter` (string, required): A chapter's slug (lakebase, medallion-architecture), path or URL; list_chapters has them
- `section` (string): Only the diagrams in this section: its anchor or heading

Output parameters:

- `build` (string|null): The commit of the deploy that answered
- `chapter` (object)
- `diagrams` (array)
- `index_built` (string|null): When this deploy's index was built (ISO 8601)
- `note` (string)
- `total` (integer)
- `ttlMs` (integer): How long this answer may be kept before asking again, in milliseconds

### `toolkit_info` (~205 tokens)

About TechFabric's Databricks Chrome extension

What TechFabric's free Chrome extension for Databricks (TechFabric Toolkit for Databricks 0.10.0) does, how to install it, the permissions it asks for and its privacy model. Call it for "what can the TechFabric Chrome extension do", "does the toolkit support X", "how do I install it" or "what permissions does it need". Each feature says where it shows up, whether it needs the reader's connected workspace, and how to get the same thing from this server: a tool (toolkit_generate, estimate_cost, review_databricks_code, explore_concept) or only the extension. Read-only and deterministic.

Input parameters:

- `feature` (string): One feature by its id (from a previous answer)
- `question` (string): A question about the extension in plain words, e.g. 'does it show table lineage', 'what permissions does it need', 'can it estimate cost'. Omit for every feature.

Output parameters:

- `build` (string|null)
- `capabilities` (array)
- `clouds` (array)
- `groups` (array)
- `index_built` (string|null)
- `install` (object)
- `matched` (boolean|null): With a question: whether any feature or topic matched it
- `needs` (object)
- `page` (string): The Field Guide's page on the extension
- `permissions` (array)
- `privacy` (array)
- `product` (string)
- `question` (string|null)
- `topics` (array): With a question: whether it asks about installing, permissions or privacy
- `ttlMs` (integer)
- `version` (string)

### `toolkit_generate` (~285 tokens)

Run a Databricks Toolkit generator

Runs one of the offline generators from the Build tab of TechFabric's Chrome extension for Databricks (TechFabric Toolkit for Databricks 0.10.0) with the extension's own code, so the output matches it: Unity Catalog grants with a rollback script, table DDL / MERGE / GRANT, a table starter kit (tags, constraints, row filter, column mask), schema diff to ALTER, Delta restore, a Delta health check from pasted DESCRIBE output, Auto Loader, Lakeflow and Auto CDC starters, data-quality checks, Declarative Automation Bundle YAML and CLI, Terraform, secrets and external locations, test data, system.billing cost SQL, an error decoder, failed-run triage and Slack / Jira messages, slow-query analysis, a pre-flight check for destructive SQL, MLflow, serving, Vector Search, AI Functions, RAG and Genie templates, formatters, deep links, and the snippet libraries. Omit generator for the list and each one's inputs. Text only: nothing runs against a workspace, no model is called.

Input parameters:

- `generator` (string): Which generator. Omit for the list, with each one's inputs.
- `inputs` (object): The generator's inputs by id (text, a choice or true/false); anything left out takes the extension's default. Call with no generator to see each one's inputs.

Output parameters:

- `available` (array)
- `build` (string|null)
- `chapter` (object|null)
- `fields` (array)
- `generator` (object|null)
- `index_built` (string|null)
- `install` (string): The Chrome Web Store listing
- `notes` (array)
- `outputs` (array)
- `page` (string)
- `product` (string)
- `ttlMs` (integer)
- `version` (string)
- `warning` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks#diagnostics

## Score history

- 2026-11-05: 80
- 2026-11-04: 80
- 2026-11-03: 79
- 2026-11-02: 79
- 2026-11-01: 78
- 2026-10-31: 78
- 2026-10-30: 78
- 2026-10-29: 77
- 2026-10-28: 77
- 2026-10-27: 76
- 2026-10-26: 76
- 2026-10-25: 76
- 2026-10-24: 75
- 2026-10-23: 75
- 2026-10-22: 74
- 2026-10-21: 74
- 2026-10-20: 73
- 2026-10-19: 73

## Common questions

### What is the Databricks Field Guide by TechFabric MCP server?

Databricks Field Guide by TechFabric is an MCP server listed in the public MCP registry as com.techfabric.databricks/field-guide. Interactive Databricks learning, certification practice and sourced engineering guidance. This page covers its hosted endpoint (https://databricks.techfabric.com/mcp).

### Is the Databricks Field Guide by TechFabric MCP server safe to use?

Databricks Field Guide by TechFabric scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Databricks Field Guide by TechFabric MCP server expose?

Databricks Field Guide by TechFabric exposes 18 tools: start_here, search_guide, get_chapter, get_code_examples, whats_new, and 13 more. Their descriptions and schemas cost roughly 5,398 tokens of context every time the server is loaded.

### Does the Databricks Field Guide by TechFabric MCP server require authentication?

No. We connected to Databricks Field Guide by TechFabric without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Databricks Field Guide by TechFabric MCP server still maintained?

Databricks Field Guide by TechFabric is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://databricks.techfabric.com/mcp
- Repository: https://github.com/Fabric-Pro/databricks-field-guide-mcp
- Website: https://databricks.techfabric.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks.json
- HTML version of this page: https://verifymcp.io/servers/com-techfabric-databricks-field-guide/databricks
