Dyslexia StepsDeveloper docs
Docs / MCP server / Tool reference

Tool reference

Updated 2026-10-18

Six read-only tools. This page is generated at build time from the published dyslexiasteps-mcp@0.1.0 package: the parameters come from the server's own tools/list and the responses from calling each tool, so it cannot drift from the server.

Every tool is read-only, needs no authentication and assesses no child. Invalid input returns a result with isError: true and a message that points to the valid options.

list_word_lists

Lists the available word lists with id, title, language, section, grade range, the source of the grade placement and word count. Filter by language, grade (English lists whose grade range includes it) or section. A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade.

ParameterTypeRequiredDescription
languageenum: en, de, es, fr, nl, pt-brnoen, de, es, fr, nl or pt-br. Omit for all.
gradeenum: pre-k, kindergarten, grade-1, grade-2, grade-3noEnglish lists that cover this grade.
sectionenum: cvc, families, sight, digraphs, patterns, wordlistnocvc, families, sight, digraphs, patterns or wordlist (other languages).
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_word_lists",
    "arguments": {
      "grade": "kindergarten",
      "section": "cvc"
    }
  }
}
Real response (from the published server at build time)
{
  "count": 5,
  "note": "A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade.",
  "lists": [
    {
      "id": "short-a",
      "title": "Short a words",
      "language": "en",
      "section": "cvc",
      "grades": "Kindergarten to Grade 1",
      "placementBasis": "RF.K.2.d, RF.K.3.b",
      "words": 45,
      "url": "https://dyslexiasteps.com/cvc-words/short-a"
    },
    {
      "id": "short-e",
      "title": "Short e words",
      "language": "en",
      "section": "cvc",
      "grades": "Kindergarten to Grade 1",
      "placementBasis": "RF.K.2.d, RF.K.3.b",
      "words": 27,
      "url": "https://dyslexiasteps.com/cvc-words/short-e"
    },
    {
      "id": "short-i",
      "title": "Short i words",
      "language": "en",
      "section": "cvc",
      "grades": "Kindergarten to Grade 1",
      "placementBasis": "RF.K.2.d, RF.K.3.b",
      "words": 39,
      "url": "https://dyslexiasteps.com/cvc-words/short-i"
    },
    {
      "id": "short-o",
      "title": "Short o words",
      "language": "en",
      "section": "cvc",
      "grades": "Kindergarten to Grade 1",
      "placementBasis": "RF.K.2.d, RF.K.3.b",
      "words": 30,
      "url": "https://dyslexiasteps.com/cvc-words/short-o"
    },
    {
      "id": "short-u",
      "title": "Short u words",
      "language": "en",
      "section": "cvc",
      "grades": "Kindergarten to Grade 1",
      "placementBasis": "RF.K.2.d, RF.K.3.b",
      "words": 32,
      "url": "https://dyslexiasteps.com/cvc-words/short-u"
    }
  ]
}

get_word_list

The full list: every word, its groups (for example -at, -an, -ap families), the grade range, the placement basis, the page URL and the license. Use an id from list_word_lists, e.g. short-a, kindergarten, sh.

ParameterTypeRequiredDescription
idstringyesList id, e.g. short-a, kindergarten, vowel-teams, or es:palabras-con-m
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_word_list",
    "arguments": {
      "id": "short-a"
    }
  }
}
Real response (from the published server at build time)
{
  "id": "short-a",
  "title": "Short a words",
  "language": "en",
  "section": "cvc",
  "grades": "Kindergarten to Grade 1",
  "placementBasis": "RF.K.2.d, RF.K.3.b",
  "words": [
    "bat",
    "cat",
    "hat",
    "mat",
    "pat",
    "rat",
    "sat",
    "vat",
    "cab",
    "dab",
    "jab",
    "lab",
    "tab",
    "bad",
    "dad",
    "had",
    "lad",
    "mad",
    "pad",
    "sad",
    "bag",
    "lag",
    "nag",
    "rag",
    "sag",
    "tag",
    "wag",
    "dam",
    "ham",
    "jam",
    "ram",
    "yam",
    "can",
    "fan",
    "man",
    "pan",
    "ran",
    "tan",
    "van",
    "cap",
    "lap",
    "map",
    "nap",
    "tap",
    "zap"
  ],
  "url": "https://dyslexiasteps.com/cvc-words/short-a",
  "groups": {
    "-at words": [
      "bat",
      "cat",
      "hat",
      "mat",
      "pat",
      "rat",
      "sat",
      "vat"
    ],
    "-ab words": [
      "cab",
      "dab",
      "jab",
      "lab",
      "tab"
    ],
    "-ad words": [
      "bad",
      "dad",
      "had",
      "lad",
      "mad",
      "pad",
      "sad"
    ],
    "-ag words": [
      "bag",
      "lag",
      "nag",
      "rag",
      "sag",
      "tag",
      "wag"
    ],
    "-am words": [
      "dam",
      "ham",
      "jam",
      "ram",
      "yam"
    ],
    "-an words": [
      "can",
      "fan",
      "man",
      "pan",
      "ran",
      "tan",
      "van"
    ],
    "-ap words": [
      "cap",
      "lap",
      "map",
      "nap",
      "tap",
      "zap"
    ]
  },
  "placementBasisDetail": {
    "kind": "standard",
    "code": "RF.K.2.d, RF.K.3.b",
    "summary": "Kindergarten: isolate the sounds in three-sound consonant-vowel-consonant words and link the short vowel sounds to their common spellings.",
    "url": "http://www.thecorestandards.org/ELA-Literacy/RF/K/"
  },
  "license": "CC BY 4.0",
  "note": "A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade.",
  … (truncated)

get_words_for_grade

Every different English word from the lists that cover a grade, deduplicated, with the lists each word comes from. Optional section filter (for example only sight words or only cvc). A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade.

ParameterTypeRequiredDescription
gradeenum: pre-k, kindergarten, grade-1, grade-2, grade-3yespre-k, kindergarten, grade-1, grade-2 or grade-3
sectionenum: cvc, families, sight, digraphs, patterns, wordlistno
limitintegernoMaximum words to return. Default 300.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_words_for_grade",
    "arguments": {
      "grade": "grade-1",
      "section": "digraphs",
      "limit": 8
    }
  }
}
Real response (from the published server at build time)
{
  "grade": "grade-1",
  "section": "digraphs",
  "lists": [
    "sh",
    "ch",
    "th",
    "wh",
    "ck",
    "ph"
  ],
  "totalDifferentWords": 248,
  "returned": 8,
  "words": [
    {
      "word": "ship",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shop",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shed",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shell",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shelf",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shin",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shut",
      "lists": [
        "sh"
      ]
    },
    {
      "word": "shall",
      "lists": [
        "sh"
      ]
    }
  ],
  "note": "A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade."
}

find_words

Finds words in the lists that start with, end with or contain a letter pattern, for example 'sh', 'ck', '-ight' or 'ai'. Returns each match with its list, grade range and page. Case-insensitive.

ParameterTypeRequiredDescription
containsstringno
starts_withstringno
ends_withstringno
languageenum: en, de, es, fr, nl, pt-brno
gradeenum: pre-k, kindergarten, grade-1, grade-2, grade-3noOnly English lists covering this grade.
limitintegernoDefault 60.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "find_words",
    "arguments": {
      "starts_with": "sh",
      "language": "en",
      "limit": 6
    }
  }
}
Real response (from the published server at build time)
{
  "totalMatches": 30,
  "returned": 6,
  "matches": [
    {
      "word": "shindig",
      "language": "en",
      "lists": [
        {
          "id": "ig-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/ig"
        }
      ]
    },
    {
      "word": "shin",
      "language": "en",
      "lists": [
        {
          "id": "in-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/in"
        },
        {
          "id": "sh",
          "grades": "Grade 1",
          "url": "https://dyslexiasteps.com/digraphs/sh"
        }
      ]
    },
    {
      "word": "ship",
      "language": "en",
      "lists": [
        {
          "id": "ip-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/ip"
        },
        {
          "id": "sh",
          "grades": "Grade 1",
          "url": "https://dyslexiasteps.com/digraphs/sh"
        }
      ]
    },
    {
      "word": "shop",
      "language": "en",
      "lists": [
        {
          "id": "op-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/op"
        },
        {
          "id": "sh",
          "grades": "Grade 1",
          "url": "https://dyslexiasteps.com/digraphs/sh"
        }
      ]
    },
    {
      "word": "sheepdog",
      "language": "en",
      "lists": [
        {
          "id": "og-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/og"
        }
      ]
    },
    {
      "word": "shrug",
      "language": "en",
      "lists": [
        {
          "id": "ug-family",
          "grades": "Kindergarten to Grade 1",
          "url": "https://dyslexiasteps.com/word-families/ug"
        }
      ]
    }
  ]
}

get_placement_basis

Explains the source of each grade placement: Dolch's own grade levels (1936, public domain), the Common Core Foundational Skills item that names the skill, or a typical sequence when no standard names it. Includes the limits.

No parameters.

Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_placement_basis",
    "arguments": {}
  }
}
Real response (from the published server at build time)
{
  "note": "A grade is a typical guide, not a rule: programs and standards differ, and it is not an assessment of any child. English lists are placed by grade; lists in other languages follow each language's own curriculum and have no grade.",
  "bases": {
    "dolch": {
      "kind": "classic",
      "code": "Dolch (1936)",
      "summary": "Dolch's grade levels for his basic sight vocabulary (public domain).",
      "url": "https://doi.org/10.1086/457353"
    },
    "rf-k-2a": {
      "kind": "standard",
      "code": "RF.K.2.a",
      "summary": "Kindergarten: recognize and produce rhyming words.",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/K/"
    },
    "rf-k-2c": {
      "kind": "standard",
      "code": "RF.K.2.c",
      "summary": "Kindergarten: blend and segment onsets and rimes (the vowel-plus-ending part) of one-syllable spoken words.",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/K/"
    },
    "rf-k-2d": {
      "kind": "standard",
      "code": "RF.K.2.d, RF.K.3.b",
      "summary": "Kindergarten: isolate the sounds in three-sound consonant-vowel-consonant words and link the short vowel sounds to their common spellings.",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/K/"
    },
    "rf-1-2b": {
      "kind": "standard",
      "code": "RF.1.2.b",
      "summary": "Grade 1: blend spoken sounds into one-syllable words, including consonant blends (the standard covers spoken sounds, not print).",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/1/"
    },
    "rf-1-3a": {
      "kind": "standard",
      "code": "RF.1.3.a",
      "summary": "Grade 1: know the spelling-sound patterns for common consonant digraphs.",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/1/"
    },
    "rf-1-3b": {
      "kind": "standard",
      "code": "RF.1.3.b",
      "summary": "Grade 1: decode regularly spelled one-syllable words (nonsense words test exactly this).",
      "url": "http://www.thecorestandards.org/ELA-Literacy/RF/1/"
    },
    "rf-1-3c": {
      "kind": "standard",
      "code": "RF.1.3.c, RF.2.3.a–c",
  … (truncated)

get_citation

License (CC BY 4.0 for the compilation; the Dolch words are public domain), the citation text and the CSV and JSON download addresses.

No parameters.

Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_citation",
    "arguments": {}
  }
}
Real response (from the published server at build time)
{
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "note": "The compilation (selection, grouping, grade placement and descriptions) is CC BY 4.0. The Dolch words themselves are public domain. Grade placement is a typical guide: programs and standards differ, and it is not a diagnosis."
  },
  "citeAs": "Dyslexia Steps (2026). Word lists by grade, Pre-K to Grade 3, with placement basis. dyslexiasteps.com/word-lists-by-grade. CC BY 4.0.",
  "page": "https://dyslexiasteps.com/word-lists-by-grade",
  "updated": "2026-10-17",
  "downloads": {
    "csv": "https://dyslexiasteps.com/data/word-lists.csv",
    "json": "https://dyslexiasteps.com/data/word-lists.json"
  }
}