Skip to main content
Glama
birkanyavuz

educational-tools

Get Curriculum Dataset (Word Lists and Syllables)

get_curriculum_dataset
Read-onlyIdempotent

Fetch exact curriculum word lists—Dolch, CVC, digraph, Spanish syllables, Turkish-English pairs—for lessons, worksheets, quizzes, or flashcards, filtered by level or family.

Instructions

Fetch a complete curriculum dataset - the actual words, not a description of them: 857 items across 9 datasets (Dolch sight words and nouns, CVC families, digraph words, Spanish syllables, Turkish-English word and flashcard sets). Use when you need exact word lists for a lesson, worksheet, quiz, or flashcard set; these sequences and level boundaries are canonical ground truth and should not be generated from memory. Do not use when you need an interactive activity or tool metadata - use search_classroom_tools or get_classroom_tool instead. Returns the complete filtered array in one unpaginated call (max 220 items) in canonical order, identical on every call, with a SHA-256 content_hash of the full dataset; an unknown dataset_id or a level_or_family that does not belong to the chosen dataset returns an explicit error. Requires no authentication.

Input Schema

NameRequiredDescriptionDefault
dataset_idYesWhich dataset to fetch. Monolingual sets return arrays of word strings: dolch-sight-words-220 (220 words in 5 levels), dolch-nouns-94 (94), cvc-word-families-75 (75 in 13 rime families), digraph-words-21 (21 in 4 digraph groups), spanish-syllables-core (187 syllables + 25 words). Bilingual sets return arrays of {tr, en} objects: turkish-english-early-words (30 pairs), turkish-english-animals (193 pairs), turkish-english-colors (5 pairs), turkish-english-objects (7 pairs)
level_or_familyNoOptional subset filter; valid values depend on dataset_id. dolch-sight-words-220: pre-primer, primer, grade-1, grade-2, grade-3. cvc-word-families-75: a rime family with leading hyphen (-at, -an, -en, -et, -ig, -in, -ip, -og, -op, -ot, -ub, -ug, -un); the same family without the hyphen (at, an, ig) is also accepted. digraph-words-21: sh, ch, th, wh. spanish-syllables-core: syllables or words. All other datasets have no subsets - omit this parameter. A value that does not belong to the chosen dataset returns an error (code -32602); omitting it returns the complete dataset

Output Schema

NameRequiredDescriptionDefault
itemsYesThe complete filtered items in canonical order; element shape depends on the dataset (see dataset_id)
creatorYesDataset creator, always Birkan Yavuz
dataset_idYesStable dataset id in the form birkanyavuz:<name>:v1
item_countYesNumber of items in this response after filtering
invocation_idYesUnique receipt id for this call

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv1.3.2
    • changedInput schema / properties / dataset_id / description
      Previous value: -"Identifier of the complete structured curriculum dataset"New value: +"Which dataset to fetch. Monolingual sets return arrays of word strings: dolch-sight-words-220 (220 words in 5 levels), dolch-nouns-94 (94), cvc-word-families-75 (75 in 13 rime families), digraph-words-21 (21 in 4 digraph groups), spanish-syllables-core (187 syllables + 25 words). Bilingual sets return arrays of {tr, en} objects: turkish-english-early-words (30 pairs), turkish-english-animals (193 pairs), turkish-english-colors (5 pairs), turkish-english-objects (7 pairs)"
    • changedInput schema / properties / level_or_family / description
      Previous value: -"Optional subset: a Dolch level (pre-primer, primer, grade-1, grade-2, grade-3), a CVC family (at, an, ig...), a digraph (sh, ch, th, wh), or syllables/words for Spanish"New value: +"Optional subset filter; valid values depend on dataset_id. dolch-sight-words-220: pre-primer, primer, grade-1, grade-2, grade-3. cvc-word-families-75: a rime family with leading hyphen (-at, -an, -en, -et, -ig, -in, -ip, -og, -op, -ot, -ub, -ug, -un); the same family without the hyphen (at, an, ig) is also accepted. digraph-words-21: sh, ch, th, wh. spanish-syllables-core: syllables or words. All other datasets have no subsets - omit this parameter. A value that does not belong to the chosen dataset returns an error (code -32602); omitting it returns the complete dataset"
    • changedInput schema / properties / level_or_family / examples
      Previous value: -[
      -  "grade-1",
      -  "at",
      -  "sh"
      -]New value: +[
      +  "grade-1",
      +  "-at",
      +  "sh",
      +  "syllables"
      +]
    • removedOutput schema / properties / content_hash
      Removed value: -{
      -  "description": "SHA-256 of the full unfiltered dataset; changes only when the data changes",
      -  "type": "string"
      -}
    • addedOutput schema / properties / items / content_hash
      Added value: +{
      +  "description": "SHA-256 of the full unfiltered dataset; changes only when the data changes",
      +  "type": "string"
      +}
    • changedOutput schema / properties / items / description
      Previous value: -"The complete filtered items in canonical order"New value: +"The complete filtered items in canonical order; element shape depends on the dataset (see dataset_id)"
    • addedOutput schema / properties / items / items
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "A single word, syllable, or two-syllable word (monolingual datasets: Dolch, CVC, digraph, Spanish)",
      +      "type": "string"
      +    },
      +    {
      +      "description": "A Turkish-English pair (bilingual datasets)",
      +      "properties": {
      +        "en": {
      +          "description": "English translation",
      +          "type": "string"
      +        },
      +        "tr": {
      +          "description": "Turkish word",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "tr",
      +        "en"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / items / record_digest
      Added value: +{
      +  "description": "One-line citation naming the dataset, creator and endpoint",
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / resource_uri
      Added value: +{
      +  "description": "Stable edu:// URI for this dataset, readable via resources/read",
      +  "type": "string"
      +}
    • removedOutput schema / properties / record_digest
      Removed value: -{
      -  "description": "One-line citation naming the dataset, creator and endpoint",
      -  "type": "string"
      -}
    • removedOutput schema / properties / resource_uri
      Removed value: -{
      -  "description": "Stable edu:// URI for this dataset, readable via resources/read",
      -  "type": "string"
      -}
  2. Changed1 schema field changedv1.3.0
    • changedInput schema / properties / dataset_id / enum
      Previous value: -[
      -  "dolch-sight-words-220",
      -  "dolch-nouns-94",
      -  "cvc-word-families-75",
      -  "digraph-words-21",
      -  "spanish-syllables-core",
      -  "turkish-english-early-words"
      -]New value: +[
      +  "dolch-sight-words-220",
      +  "dolch-nouns-94",
      +  "cvc-word-families-75",
      +  "digraph-words-21",
      +  "spanish-syllables-core",
      +  "turkish-english-early-words",
      +  "turkish-english-animals",
      +  "turkish-english-colors",
      +  "turkish-english-objects"
      +]
  3. First observedv1.2.2

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description still adds real behavioral context beyond them: unpaginated single call capped at 220 items, canonical order, byte-identical results across calls, a SHA-256 content_hash, and explicit error behavior for bad dataset_id or level_or_family. That is meaningful added value, though it stops short of describing the response envelope or how the hash is surfaced.

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 what is returned before the usage routing, which is the right order for a fetch tool. Three sentences carry a lot, but the long parenthetical enumerating dataset families is redundant against the schema enum and adds bulk.

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?

Given an output schema exists, the description need not explain return values, yet it still states ordering, determinism, hashing, size limits, and auth requirements. Combined with full param coverage and annotations, nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the schema already enumerates every dataset_id value, its item counts, subset rules, and the -32602 error for mismatched level_or_family. The description's parameter content largely restates that, so per the high-coverage baseline a 3 is appropriate; it adds no format or syntax detail the schema lacks.

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

Purpose5/5

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

Names a specific verb and resource ("Fetch a complete curriculum dataset") and immediately scopes it: "the actual words, not a description of them," with concrete volume (857 items, 9 datasets) and the dataset families. An agent can distinguish this from the tool-metadata siblings without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit positive triggers ("when you need exact word lists for a lesson, worksheet, quiz, or flashcard set") and an explicit exclusion with named alternatives ("Do not use when you need an interactive activity or tool metadata - use search_classroom_tools or get_classroom_tool instead"). Both the when and the when-not, plus the substitute, are stated.

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