Skip to main content
Glama

Flashcards from the guide

flashcards
Read-onlyIdempotent

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 Schema

NameRequiredDescriptionDefault
doneNoOpened 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
examNoAn 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
domainNoThe exam's domain id, as exam_prep lists them
resumeNoA 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.
chapterNoOr a chapter: its slug or URL

Output Schema

NameRequiredDescriptionDefault
howNoWhat to do with a card
gapsYes
keepNoFor 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 the server.
noteYes
cardsYes
scopeYes
plan_stepNoOpened 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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / done
      Added value: +{
      +  "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",
      +  "items": {
      +    "anyOf": [
      +      {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      {
      +        "type": "integer"
      +      }
      +    ]
      +  },
      +  "maxItems": 60,
      +  "type": "array"
      +}
    • addedOutput schema / properties / cards / items / properties / label
      Added value: +{
      +  "description": "What the front is: Term, Question or Section",
      +  "type": "string"
      +}
    • addedOutput schema / properties / cards / items / properties / prompt
      Added value: +{
      +  "description": "What the front asks, in words: a term or a heading becomes the question its back answers",
      +  "type": "string"
      +}
    • changedOutput schema / properties / cards / items / required
      Previous value: -[
      -  "id",
      -  "kind",
      -  "front",
      -  "back",
      -  "source"
      -]New value: +[
      +  "id",
      +  "kind",
      +  "front",
      +  "back",
      +  "source",
      +  "label",
      +  "prompt"
      +]
    • addedOutput schema / properties / how
      Added value: +{
      +  "description": "What to do with a card",
      +  "type": "string"
      +}
    • addedOutput schema / properties / plan_step
      Added value: +{
      +  "description": "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",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / resume
      Added value: +{
      +  "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.",
      +  "maxLength": 600,
      +  "minLength": 5,
      +  "pattern": "^kp1\\.[A-Za-z0-9_-]+$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / keep
      Added value: +{
      +  "description": "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 the server.",
      +  "properties": {
      +    "kind": {
      +      "type": "string"
      +    },
      +    "resumed": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "scope": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "scope",
      +    "resumed",
      +    "stale"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / exam / description
      Previous value: -"An exam (data-engineer-associate, data-engineer-professional, data-analyst-associate, machine-learning-associate), with one of its domains"New value: +"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"
  4. Added

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, closed-world behavior, yet the description adds genuine context: generation is deterministic from the guide, card backs carry the guide's own sentence plus section URL, an uncovered domain returns an explicit 'not covered' message, and hosts rendering MCP Apps support Got it / Not yet tracking with resume codes. It never states size limits or latency, but the deck-size and interaction model are well disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and the mode list, and every sentence carries information. The eight-item parenthetical enumeration of exam IDs duplicates the schema's own enum text verbatim, which is wasted space in a description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explaining; the description covers all four invocation modes (exam+domain, chapter, resume, plan-derived done), the deterministic sourcing, and the fallback when a domain is uncovered. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description earns above that by explaining the conditional pairing of exam + domain, that done is the exam_prep plan's completed steps so the deck can report its step and route Next back to the plan, and that a resume code names its own domain or chapter so nothing else is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — interactive flashcards built deterministically from the Field Guide for an exam domain or chapter — and describes what each card contains (glossary terms, FAQs, mapped section lead sentences). It does not explicitly distinguish itself from the sibling quiz_me, which is the nearest alternative, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete trigger phrasing ('flashcards for the Data Engineer Associate's governance domain', 'drill me on Unity Catalog terms') and a clear rule for the resume mode ('send it back as resume, alone'). It says when to call but never states when not to, or how it differs from quiz_me for the same domain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.