{"data":{"name":"com.techfabric.databricks/field-guide","title":"Databricks Field Guide by TechFabric","description":"Interactive Databricks learning, certification practice and sourced engineering guidance.","version":"1.11.1","websiteUrl":"https://databricks.techfabric.com","repositoryUrl":"https://github.com/Fabric-Pro/databricks-field-guide-mcp","remotes":[{"type":"streamable-http","url":"https://databricks.techfabric.com/mcp"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-11-01T01:15:38.246Z","updatedAt":"2026-11-01T01:15:38.246Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"source":"official-registry","sourceId":"com.techfabric.databricks/field-guide","verification":"official","confidence":100,"stars":null,"updatedAt":"2026-11-01T01:15:38.246Z","title":"Databricks Field Guide by TechFabric","description":"Interactive Databricks learning, certification practice and sourced engineering guidance.","websiteUrl":"https://databricks.techfabric.com","repositoryUrl":"https://github.com/Fabric-Pro/databricks-field-guide-mcp"}],"toolIndex":{"tools":[{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"decide","title":"Decide with the guide","description":"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.","inputSchema":{"type":"object","properties":{"question":{"type":"string","maxLength":300,"description":"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."},"choices":{"type":"array","maxItems":10,"items":{"type":"integer","minimum":1,"maximum":9},"description":"The reader's choices so far, as option numbers from the first question: the result then carries where they are, or the answer"},"form":{"type":"boolean","description":"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 forms; left out, the result is unanswered."}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Decide with the guide","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"9ee9eb4229ef5cc54b453a94c020abe2881facbcb5845f8dd2126ce40246b6a1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"estimate_cost","title":"Estimate Databricks cost","description":"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.","inputSchema":{"type":"object","properties":{"workload":{"type":"string","enum":["jobs","all_purpose","sql_warehouse","apps","genie","lakebase","model_serving","storage"],"description":"jobs, all_purpose (interactive notebooks), sql_warehouse, apps, genie, lakebase, model_serving or storage"},"compute":{"type":"string","enum":["serverless","classic","pro","lakehouse_rt"],"description":"jobs and all_purpose: serverless or classic; sql_warehouse: serverless, pro, classic, or lakehouse_rt (Beta) priced from DBUs you give"},"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, 5x-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"},"dbus_per_hour":{"type":"number","minimum":0,"maximum":100000,"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"},"clusters":{"type":"integer","minimum":1,"maximum":1000,"description":"sql_warehouse: clusters running (default 1)"},"max_clusters":{"type":"integer","minimum":1,"maximum":1000,"description":"sql_warehouse: the most clusters it scales out to; the estimate ranges from clusters to max_clusters"},"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)"},"instances":{"type":"integer","minimum":1,"maximum":10000,"description":"jobs or all_purpose, classic: instances in the cluster, the driver counted as one; model_serving cpu: Medium configurations"},"serving":{"type":"string","enum":["pay_per_token","provisioned_throughput","gpu","cpu"],"description":"model_serving: pay_per_token, provisioned_throughput, gpu or cpu (omit for every price the guide states)"},"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'"},"input_tokens_millions":{"type":"number","minimum":0,"maximum":10000000,"description":"model_serving, pay_per_token: input tokens a month, in millions"},"output_tokens_millions":{"type":"number","minimum":0,"maximum":10000000,"description":"model_serving, pay_per_token: output tokens a month, in millions"},"model_units":{"type":"integer","minimum":1,"maximum":100000,"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":{"type":"string","enum":["on_demand","1_month","3_month"],"description":"model_serving, provisioned_throughput: on_demand, 1_month or 3_month"},"dbus_per_month":{"type":"number","minimum":0,"maximum":100000000,"description":"Or the DBUs a month outright"},"hours_per_day":{"type":"number","minimum":0,"maximum":24},"days_per_month":{"type":"number","minimum":1,"maximum":31,"description":"Days it runs a month (default 30 with hours_per_day)"},"hours_per_month":{"type":"number","minimum":0,"maximum":744},"users":{"type":"integer","minimum":0,"maximum":1000000,"description":"genie: the people using it"},"dbus_per_user":{"type":"number","minimum":0,"maximum":1000000,"description":"genie: each user's Genie DBUs a month"},"storage_gb":{"type":"number","minimum":0,"maximum":1000000000,"description":"storage: GB held"},"always_on":{"type":"boolean","description":"lakebase: an always-on 0.5 CU floor (the one Lakebase figure the guide quotes)"}},"required":["workload"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Estimate Databricks cost","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"1b116a7981a21ecc9b619c04702adaaf0571810183fee6bd6d5447083c521b02","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"exam_prep","title":"Prepare for a Databricks certification","description":"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.","inputSchema":{"type":"object","properties":{"exam":{"type":"string","maxLength":120,"description":"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":{"type":"string","maxLength":120,"description":"One of the exam's domains (its id, from the result), for its practice questions"},"done":{"type":"array","maxItems":60,"items":{"anyOf":[{"type":"string","maxLength":200},{"type":"integer"}]},"description":"The plan steps the reader has done, by number or id (from an earlier result): progress lives with the reader, not the server"},"step":{"type":"string","maxLength":200,"description":"The plan step to open at (its id, as the step's call gives it)"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Prepare for a Databricks certification","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"1b3d8d66ac02ed6673246b3ef5335e617b6ec54883e324e6ae3edaf635353978","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"explore_concept","title":"Explore a Databricks concept","description":"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).","inputSchema":{"type":"object","properties":{"concept":{"type":"string","maxLength":200,"description":"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."},"form":{"type":"boolean","description":"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."},"exam":{"type":"string","maxLength":120,"description":"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"},"done":{"type":"array","maxItems":60,"items":{"anyOf":[{"type":"string","maxLength":200},{"type":"integer"}]},"description":"With exam: the plan steps done so far, by number or id"},"step":{"type":"string","maxLength":200,"description":"With exam: the plan step this card was opened from (its id, as the plan's call gives it)"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Explore a Databricks concept","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"f0f202065daa136258c0e64d4ab9bcd5f719685bd25cf71e1d205a72d9e72e1f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"explore_diagram","title":"Play a chapter's diagrams","description":"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.","inputSchema":{"type":"object","properties":{"chapter":{"type":"string","minLength":1,"maxLength":500,"description":"A chapter's slug (lakebase, medallion-architecture), path or URL; list_chapters has them"},"section":{"type":"string","maxLength":200,"description":"Only the diagrams in this section: its anchor or heading"}},"required":["chapter"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Play a chapter's diagrams","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"677f5950d3b396f7b20cfcca7f7f8221e73bef8fc16d11ec41a991c003f394ca","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"flashcards","title":"Flashcards from the guide","description":"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.","inputSchema":{"type":"object","properties":{"exam":{"type":"string","maxLength":120,"description":"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 domains"},"domain":{"type":"string","maxLength":120,"description":"The exam's domain id, as exam_prep lists them"},"chapter":{"type":"string","maxLength":300,"description":"Or a chapter: its slug or URL"},"resume":{"type":"string","minLength":5,"maxLength":600,"pattern":"^kp1\\.[A-Za-z0-9_-]+$","description":"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."},"done":{"type":"array","maxItems":60,"items":{"anyOf":[{"type":"string","maxLength":200},{"type":"integer"}]},"description":"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"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Flashcards from the guide","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"81153a1e5dbe6a395b157f5952f0941d351b8d12251840f72f938ff50544d1c9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"get_chapter","title":"Read a chapter","description":"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.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":500,"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."}},"required":["slug"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Read a chapter","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"e891f1f530d9b9246d974120eb7066e6dff611ae2908a776f300856f00e51e74","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"get_code_examples","title":"Find code examples","description":"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.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","minLength":1,"maxLength":200,"description":"What the code should do or touch, e.g. 'lakebase branch', 'auto loader', 'row filter'"},"lang":{"type":"string","maxLength":20,"description":"Only this language: sql, python, bash, yaml, json, hcl ..."},"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."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"How many examples (default 8)"}},"required":["topic"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Find code examples","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"9b994fed2ff7fef3b0aaced70a4b66ef43f4ee509122aedcd7b3dae23c33dae5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"learn_path","title":"Follow a Databricks learning path","description":"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.","inputSchema":{"type":"object","properties":{"path":{"type":"string","maxLength":120,"description":"The path: data-engineer-fundamentals, analytics-engineer, ml-engineer, platform-admin, snowflake-to-databricks, cost-control. Omit it for the list."},"done":{"type":"array","maxItems":50,"items":{"anyOf":[{"type":"string","maxLength":200},{"type":"integer"}]},"description":"The steps the reader has done, by number or id (from an earlier result): progress lives with the reader, not the server"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Follow a Databricks learning path","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3b5081231b1390f66839d08ac42b3837db95cb980d51f775c990e290ab15f964","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"list_chapters","title":"List chapters","description":"Every chapter in the guide's order, with its part, summary, dates, URL, Markdown URL and its main sections; and the margin notes.","inputSchema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"List chapters","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4c880c2468037b0ac6f2792404f5333490914737612be0d1f0864585669f4b89","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"quiz_me","title":"Quiz me on the guide","description":"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.","inputSchema":{"type":"object","properties":{"chapter":{"type":"string","maxLength":500,"description":"A chapter's slug (unity-catalog, lakebase), path or URL; list_chapters has them. Omit for questions from across the guide."},"section":{"type":"string","maxLength":200,"description":"One section of that chapter: its anchor or heading. Needs chapter."},"exam":{"type":"string","maxLength":120,"description":"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-associate"},"domain":{"type":"string","maxLength":120,"description":"The exam's domain id, as exam_prep lists them"},"answers":{"type":"array","maxItems":8,"items":{"type":"string","maxLength":200},"description":"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."},"resume":{"type":"string","minLength":5,"maxLength":600,"pattern":"^kp1\\.[A-Za-z0-9_-]+$","description":"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."},"form":{"type":"boolean","description":"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, the result is unanswered."}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Quiz me on the guide","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"cc6cbae0a20549fbccd891c5bcb6ad64f4424e547fd5e37c2034f3432d80b0e7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"review_databricks_code","title":"Review Databricks code","description":"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.","inputSchema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":48000,"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":{"type":"string","enum":["sql","python","yaml"],"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"}},"required":["code"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Review Databricks code","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"2636251053a808847a3726545cf3caa00ba7fedb0801ac43653d4f86396644ff","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"search_guide","title":"Search the guide","description":"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).","inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"The question or topic in plain words, e.g. 'lakebase branch' or 'unity catalog row filters'"},"kind":{"type":"string","enum":["chapter","note","feature","event"],"description":"Only chapters, margin notes (dated news with our position), feature pages or events"},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"How many results (default 10)"}},"required":["query"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Search the guide","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"faf423d663116e85d9f46eaf7deafd4ad8600e155cb4da733b94989e1127044a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"start_here","title":"Start learning Databricks","description":"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.","inputSchema":{"type":"object","properties":{"goal":{"type":"string","enum":["learn","certification"],"description":"Learn by doing (default), or begin certification practice"},"topic":{"type":"string","minLength":1,"maxLength":200,"description":"A concept or chapter; omit for a Unity Catalog diagnostic"},"exam":{"type":"string","maxLength":120,"description":"A certification id from exam_prep; implies certification. Defaults to data-engineer-associate."}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Start learning Databricks","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"fbbbd39324423805badbdf2327017f8230a7be99e465b6ccb637dd6f0e3c0b98","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"toolkit_generate","title":"Run a Databricks Toolkit generator","description":"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.","inputSchema":{"type":"object","properties":{"generator":{"type":"string","enum":["dbx-table","delta-health","schema-diff","lakeflow","cdc","dq","cost","restore","error-decoder","run-digest","failed-run","ml-model","ml-serving","ml-vs","ml-aifn","ml-rag","ml-genie","ml-gov","bundle","uc-perms","starter","testdata","terraform","secrets-loc","dbx-names","sql-format","deeplink","diff-format","cost-explain","triage","slow-query","preflight","accel","snippets"],"description":"Which generator. Omit for the list, with each one's inputs."},"inputs":{"type":"object","description":"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.","additionalProperties":{"anyOf":[{"type":"string","maxLength":48000},{"type":"boolean"},{"type":"number"}]}}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Run a Databricks Toolkit generator","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"26f2666132f50c70cac4936553c8b017ff50473d7cb52abb12cbecde7a63fe42","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"toolkit_info","title":"About TechFabric's Databricks Chrome extension","description":"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.","inputSchema":{"type":"object","properties":{"question":{"type":"string","maxLength":300,"description":"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."},"feature":{"type":"string","enum":["what-did-this-cost","monthly-estimate","cluster-right-sizing","compute-that-never-stops","query-history","cost-explainer","table-details","who-can-read","lineage","audit-and-activity","catalog-summaries","delta-health","draft-with-ai","job-summary","why-did-it-fail","what-changed","notify-when-done","workspace-pulse","bundle-provenance","review-job","explain-with-ai","error-decoder","pipeline-summary","expectations","freshness","pipeline-starters","registered-model","experiment-leaderboard","run-vs-best","serving-endpoint","vector-search","genie-readiness","ai-templates","lakebase-instance","editor-companion","review-code","preflight","offline-generators","learn-hub","ask","feedback","links-and-names","command-palette","saved","environment-label","heads-up"],"description":"One feature by its id (from a previous answer)"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"About TechFabric's Databricks Chrome extension","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"c3c719872073c79a120bed9213f20840ebae64cf2ea82654e5ce4c5f8871dbf7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"visualize","title":"Draw an answer","description":"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).","inputSchema":{"type":"object","properties":{"document":{"type":"string","minLength":2,"maxLength":64000,"description":"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":{"type":"string","maxLength":120,"description":"The card's title, in plain words"},"sources":{"type":"array","maxItems":20,"items":{"type":"string","maxLength":500},"description":"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."}},"required":["document"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"Draw an answer","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"5b04dbe3b793d8e19a8472d4a0cbc25cc0e1f7730b387f1ddf080c4458e03a38","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"},{"serverName":"com.techfabric.databricks/field-guide","endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","name":"whats_new","title":"What's new in Databricks","description":"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.","inputSchema":{"type":"object","properties":{"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)"},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"How many items (default 30)"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false},"annotations":{"title":"What's new in Databricks","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"09978a19e71024d30581f23e63458e85cf6748650940f72f946df9e88a86a437","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:46:59.630Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"58614d965817278835c48b4563c863133315626978f900bddab7f1815c0cad52","protocol":"streamable-http","status":"indexed","toolCount":18,"observedAt":"2026-10-30T14:46:59.630Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.techfabric.databricks/field-guide":{"url":"https://databricks.techfabric.com/mcp"}}},"Cursor":{"mcpServers":{"com.techfabric.databricks/field-guide":{"url":"https://databricks.techfabric.com/mcp"}}},"VS Code":{"servers":{"com.techfabric.databricks/field-guide":{"type":"http","url":"https://databricks.techfabric.com/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://databricks.techfabric.com/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.techfabric.databricks%2Ffield-guide","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.techfabric.databricks%2Ffield-guide","name":"com.techfabric.databricks/field-guide","description":"Interactive Databricks learning, certification practice and sourced engineering guidance.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://databricks.techfabric.com/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://databricks.techfabric.com","repositoryUrl":"https://github.com/Fabric-Pro/databricks-field-guide-mcp","version":"1.11.1"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.techfabric.databricks/field-guide","status":"online","lastCheckedAt":"2026-11-03T17:17:24.794Z","lastSuccessfulCheck":"2026-11-03T17:17:24.794Z","latencyMs":826,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T17:17:24.794Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T17:17:24.794Z"},"security":null,"timestamps":{"createdAt":"2026-11-01T01:15:38.246Z","updatedAt":"2026-11-01T01:15:38.246Z","observedAt":"2026-11-03T17:17:24.794Z"},"compatibility":{"serverVersion":"1.11.1","protocolVersions":[{"protocol":"mcp","version":null}]}}}}