Dyscalculia.ioDeveloper docs
Docs / MCP server / Tool reference

Tool reference

Updated 2026-10-18

6 read-only tools. This page is generated at build time from the [email protected] 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 scores no one. Invalid input returns a result with isError: true and a message that lists the valid options.

get_prevalence

Published dyscalculia prevalence figures with sample size, publication year, age, the reference key (see get_reference) and a calc flag (true when the site calculated the figure itself). Filter by study id, by age (entries whose stated age range includes it; entries with no stated age are never matched) or by a percent range (entries whose figure or range overlaps it). With no filter, returns all 10 entries. These are published research estimates, not a diagnosis of any person. There is no worldwide pooled meta-analysis of dyscalculia prevalence: the 'worldwide' entry is a range across population studies. Studies use different criteria and ages, so figures are not directly comparable.

ParameterTypeRequiredDescription
studystringnoOne study id: worldwide-range, german-guideline, israel-1996, brazil-2016, uk-morsanyi-2018, england-devine-2018, england-devine-2013, uk-lewis-1994, flanders-2004, inserm-2007.
ageintegernoAge in years, e.g. 11.
min_pctnumbernoLower bound in percent.
max_pctnumbernoUpper bound in percent.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_prevalence",
    "arguments": {
      "study": "israel-1996"
    }
  }
}
Real response (from the package at build time)
{
  "count": 1,
  "note": "These are published research estimates, not a diagnosis of any person. There is no worldwide pooled meta-analysis of dyscalculia prevalence: the 'worldwide' entry is a range across population studies. Studies use different criteria and ages, so figures are not directly comparable.",
  "entries": [
    {
      "id": "israel-1996",
      "population": "Israel, age 11",
      "kind": "point",
      "pct": 6.5,
      "unit": "percent",
      "n": 3029,
      "year": 1996,
      "age": "11",
      "ageFrom": 11,
      "ageTo": 11,
      "ref": "grosstsur1996",
      "calc": false,
      "note": "N = 3,029, published 1996",
      "reference": {
        "key": "grosstsur1996",
        "citation": "Gross-Tsur V, Manor O, Shalev RS (1996). Developmental dyscalculia: prevalence and demographic features. Dev Med Child Neurol, 38(1), 25-33.",
        "doi": "10.1111/j.1469-8749.1996.tb15029.x",
        "pmid": "8606013",
        "link": "https://pubmed.ncbi.nlm.nih.gov/8606013/"
      }
    }
  ],
  "page": "https://dyscalculia.io/dyscalculia-statistics",
  "updated": "2026-10-06"
}

list_studies

Lists every source the statistics page cites (peer-reviewed studies with DOI or PMID, plus official statistics and guidelines), with the topics each supports and, for population studies, the prevalence entries built from them. Filter by topic: prevalence, persistence, math-anxiety, interventions, by-country, sex-ratio, comorbidity, key-figures, family, official-counts, method. Use get_reference for one full citation.

ParameterTypeRequiredDescription
topicstringnoOne of: prevalence, persistence, math-anxiety, interventions, by-country, sex-ratio, comorbidity, key-figures, family, official-counts, method.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_studies",
    "arguments": {
      "topic": "persistence"
    }
  }
}
Real response (from the package at build time)
{
  "count": 3,
  "topics": [
    "prevalence",
    "persistence",
    "math-anxiety",
    "interventions",
    "by-country",
    "sex-ratio",
    "comorbidity",
    "key-figures",
    "family",
    "official-counts",
    "method"
  ],
  "studies": [
    {
      "key": "haberstroh2019",
      "citation": "Haberstroh S, Schulte-Körne G (2019). The Diagnosis and Treatment of Dyscalculia. Dtsch Arztebl Int, 116(7), 107-114.",
      "doi": "10.3238/arztebl.2019.0107",
      "pmid": "30905334",
      "link": "https://pubmed.ncbi.nlm.nih.gov/30905334/",
      "kind": "article",
      "topics": [
        "key-figures",
        "prevalence",
        "by-country",
        "comorbidity",
        "persistence",
        "interventions"
      ],
      "prevalenceEntries": [
        "german-guideline"
      ]
    },
    {
      "key": "shalev1998",
      "citation": "Shalev RS, Manor O, Auerbach J, Gross-Tsur V (1998). Persistence of developmental dyscalculia: what counts? Results from a 3-year prospective follow-up study. J Pediatr, 133(3), 358-62.",
      "doi": "10.1016/s0022-3476(98)70269-0",
      "pmid": "9738716",
      "link": "https://pubmed.ncbi.nlm.nih.gov/9738716/",
      "kind": "article",
      "topics": [
        "persistence"
      ],
      "prevalenceEntries": []
    },
    {
      "key": "shalev2005",
      "citation": "Shalev RS, Manor O, Gross-Tsur V (2005). Developmental dyscalculia: a prospective six-year follow-up. Dev Med Child Neurol, 47(2), 121-5.",
      "doi": "10.1017/s0012162205000216",
      "pmid": "15707235",
      "link": "https://pubmed.ncbi.nlm.nih.gov/15707235/",
      "kind": "article",
      "topics": [
        "key-figures",
        "persistence"
      ],
      "prevalenceEntries": []
    }
  ],
  "note": "Identifiers are exactly those the site prints; none is added here."
}

get_reference

Full citation for one reference key (for example shalev2000, grosstsur1996), with its DOI and PMID when the site has them, the link the site uses, and the topics that cite it. The site holds 93 references; keys are returned by get_prevalence and list_studies.

ParameterTypeRequiredDescription
keystringyesReference key, e.g. shalev2000
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_reference",
    "arguments": {
      "key": "shalev2000"
    }
  }
}
Real response (from the package at build time)
{
  "key": "shalev2000",
  "citation": "Shalev RS, Auerbach J, Manor O et al. (2000). Developmental dyscalculia: prevalence and prognosis. Eur Child Adolesc Psychiatry, 9 Suppl 2(), II58-64.",
  "doi": "10.1007/s007870070009",
  "pmid": "11138905",
  "link": "https://pubmed.ncbi.nlm.nih.gov/11138905/",
  "kind": "article",
  "usedInStatistics": [
    "key-figures",
    "prevalence",
    "by-country"
  ],
  "citedBy": [
    "worldwide-range"
  ],
  "license": "Reference list: part of the CC BY 4.0 compilation; the cited work belongs to its authors and publisher."
}

explain_screening_test

Describes the five screening games on dyscalculia.io: what each measures, how many items it has, what an item is and how items and games are scored in general terms, and the limits. Optionally returns the item sets (dot counts, number pairs, number-line targets, digit-sequence lengths). It describes the test only: it does not score anyone, take answers or return a result. The test is a screening of basic number skills, not a diagnosis.

ParameterTypeRequiredDescription
gamestringnoOne game key: dotEnumeration, symbolicCompare, nonSymbolicCompare, numberLine, digitSpan.
include_itemsbooleannoInclude the item sets. Default false.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "explain_screening_test",
    "arguments": {
      "game": "numberLine",
      "include_items": true
    }
  }
}
Real response (from the package at build time)
{
  "what": "A free, five-minute screening of basic number skills that runs in the browser.",
  "notADiagnosis": "A screening of basic number skills. It does not diagnose dyscalculia and does not rule it out.",
  "totalItems": 21,
  "order": "fixed, the same for everyone",
  "timeLimitPerAnswer": null,
  "scoringInGeneralTerms": "Each item is scored on its own (1 if correct, 0 if not; the number line gives partial credit by distance from the target). A game's score is the mean of its item scores, between 0 and 1. Response times do not enter the score.",
  "games": [
    {
      "key": "numberLine",
      "name": "Place the Number",
      "measures": "Number Line",
      "task": null,
      "items": 3,
      "itemScore": "1 - |answer - target| / 100",
      "gameScore": "mean of item scores (0-1)",
      "itemSet": {
        "targets": [
          25,
          67,
          41
        ],
        "scale": [
          0,
          100
        ],
        "sliderStart": 50
      }
    }
  ],
  "limits": {
    "norms": null,
    "percentiles": null,
    "accuracyStudy": null,
    "note": "The test has no norm sample, no percentiles and no published accuracy study. It is a screening of basic number skills. It does not diagnose dyscalculia and does not rule it out."
  },
  "details": "https://dyscalculia.io/methodology",
  "thisToolDoesNotScoreAnyone": true
}

list_chart_data

Lists the chart and table datasets on the statistics page (id, title, topic, section, row count) with their download addresses: the CSV and JSON of the whole page, one SVG per chart, the screening-test JSON and the changelog JSON. Pass an id (for example chart-1, table-2) to get that dataset's rows with their values, notes and reference keys.

ParameterTypeRequiredDescription
idstringnoOne of: chart-1, chart-6, chart-8, chart-9, table-2, table-4, table-5.
Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_chart_data",
    "arguments": {
      "id": "chart-1"
    }
  }
}
Real response (from the package at build time)
{
  "id": "chart-1",
  "topic": "prevalence",
  "section": "How common is dyscalculia?",
  "title": "Dyscalculia prevalence in population studies",
  "description": "Israel 6.5%; Brazil 6.0%; UK 5.7%; England 5.6%; UK 1994 3.6%. Studies use different criteria.",
  "columns": [
    "Study population",
    "Prevalence",
    "Source and year"
  ],
  "rows": [
    {
      "label": "Israel, age 11",
      "value": 6.5,
      "display": "6.5%",
      "note": "N = 3,029, published 1996",
      "ref": "grosstsur1996"
    },
    {
      "label": "Brazil, grades 2–6",
      "value": 6,
      "display": "6.0%",
      "note": "arithmetic impairment, N = 1,618, 2016",
      "ref": "fortes2016"
    },
    {
      "label": "UK, primary school",
      "value": 5.7,
      "display": "5.7%",
      "note": "DSM-5 criteria, N = 2,421, 2018",
      "ref": "morsanyi2018"
    },
    {
      "label": "England, ages 8–9 and 12–13",
      "value": 5.6,
      "display": "5.6%",
      "note": "N = 1,757, 2018",
      "ref": "devine2018"
    },
    {
      "label": "UK, ages 9–10",
      "value": 3.6,
      "display": "3.6%",
      "note": "1.3% arithmetic only + 2.3% with reading, N = 1,206, 1994",
      "ref": "lewis1994"
    }
  ],
  "svg": "https://dyscalculia.io/data/dyscalculia-statistics-chart-1.svg",
  "anchor": "https://dyscalculia.io/dyscalculia-statistics#s-how-common-is-dyscalculia",
  "kind": "chart",
  "license": "CC BY 4.0",
  "note": "The licence covers the compilation (text, tables, charts); each figure belongs to the source cited with it.",
  "citeAs": "Dyscalculia.io. (2026, October 6). Dyscalculia statistics 2026: how common is dyscalculia? https://dyscalculia.io/dyscalculia-statistics"
}

get_citation

License (the compilation is CC BY 4.0; each figure belongs to its cited source), the citation text, an HTML credit link and the download addresses. To cite a single number, cite its study: use get_reference.

No parameters.

Example request (MCP tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_citation",
    "arguments": {}
  }
}
Real response (from the package at build time)
{
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "note": "The licence covers the compilation (text, tables, charts); each figure belongs to the source cited with it."
  },
  "citeAs": "Dyscalculia.io. (2026, October 6). Dyscalculia statistics 2026: how common is dyscalculia? https://dyscalculia.io/dyscalculia-statistics",
  "htmlCredit": "<a href=\"https://dyscalculia.io/dyscalculia-statistics\">Dyscalculia statistics (Dyscalculia.io)</a>",
  "page": "https://dyscalculia.io/dyscalculia-statistics",
  "updated": "2026-10-06",
  "nextReview": "2027-04-06",
  "downloads": {
    "csv": "https://dyscalculia.io/data/dyscalculia-statistics.csv",
    "json": "https://dyscalculia.io/data/dyscalculia-statistics.json",
    "screeningTest": "https://dyscalculia.io/data/screening-test.json",
    "charts": [
      "https://dyscalculia.io/data/dyscalculia-statistics-chart-1.svg",
      "https://dyscalculia.io/data/dyscalculia-statistics-chart-6.svg",
      "https://dyscalculia.io/data/dyscalculia-statistics-chart-8.svg",
      "https://dyscalculia.io/data/dyscalculia-statistics-chart-9.svg"
    ]
  },
  "methodology": "https://dyscalculia.io/methodology",
  "honestLimits": [
    "No worldwide pooled meta-analysis of dyscalculia prevalence was found (PubMed search, 2026-10-06), so the global row is a range across population studies, not one number.",
    "Studies use different criteria and ages: figures are not directly comparable and the same data can give 1% or 6% depending on the cut-off (see england-devine-2013).",
    "No country checked publishes an official count of dyscalculia alone. Official figures (US, England, Spain) cover broader learning-disability categories.",
    "These are research prevalence figures, not a diagnosis of any person."
  ]
}