DevelopersEnglish Updated
Developer tools
Dyscalculia.io publishes its sourced prevalence statistics and its free number games as developer tools: the figures as CSV and JSON, an MCP server so AI assistants can look them up, and five practice games and 4 charts you can embed on your own site. The code is MIT-licensed on GitHub and the compilation is CC BY 4.0. The free screening test is a screening, not a diagnosis, and is not part of any package.
Packages
dyscalculia-mcpMCP server for AI assistants: dyscalculia prevalence figures with sources, and how the free screening test works. Six read-only tools.
npx -y dyscalculia-mcpdyscalculia-dataThe statistics as JSON and CSV with small helpers: figures, studies and sources. Compilation CC BY 4.0.
npm install dyscalculia-dataQuick start
To let an assistant look up the figures, add the hosted MCP server to your client. Setup for ChatGPT, Codex, Cursor, VS Code and Gemini CLI is on the MCP server page.
claude mcp add --transport http --scope user dyscalculia https://mcp.dyscalculia.io/mcp
npm install dyscalculia-dataWhat people use them for
Teachers, students and writers
Ask an assistant how common dyscalculia is and get the range with the studies behind it, or copy a ready-made citation for a report or a lesson.
MCP server and setup for each clientApp makers and researchers
Download the statistics as CSV or JSON, or install the npm package, and build charts or study how the published figures differ by country and by age.
Dyscalculia statistics and downloadsSchools, tutors and bloggers
Put a free number practice game on your own site in two lines of HTML, in English, German, Spanish, French, Dutch or Portuguese, or embed a statistics chart with its source line.
Embed games and chartsParents and schools
Browse the sourced figures, then try the free screening test. It is a screening, not a diagnosis; only a qualified professional can diagnose dyscalculia.
The free screening testWhere everything lives
| What | Address |
|---|---|
| Developer docs | https://docs.dyscalculia.io |
| Docs for AI systems (llms.txt) | https://docs.dyscalculia.io/llms.txt |
| Hosted MCP server | https://mcp.dyscalculia.io/mcp |
| GitHub organization | https://github.com/Dyscalculia-io |
| npm: MCP server | https://www.npmjs.com/package/dyscalculia-mcp |
| npm: statistics data | https://www.npmjs.com/package/dyscalculia-data |
| Embed games and charts | https://dyscalculia.io/embed |
| npm: embeddable games | https://www.npmjs.com/package/dyscalculia-embed |
| Statistics (JSON) | https://dyscalculia.io/data/dyscalculia-statistics.json |
| Statistics (CSV) | https://dyscalculia.io/data/dyscalculia-statistics.csv |
| The screening test as data | https://dyscalculia.io/data/screening-test.json |
| Changelog (JSON) | https://dyscalculia.io/data/changelog.json |
What is in the data files
Every figure on the dyscalculia statistics page with its data year and source: key figures, chart values and table cells. The CSV has one row per cell; the JSON groups the same data and adds the generation date and the method date. Both are downloadable from the statistics page and are built from the page's own content, so they cannot drift apart.
| CSV column | Values |
|---|---|
| section, type, title | The page section, the kind of row (key_figure, chart or table) and the title of the chart or table |
| row, column, value | The row and column label and the value as shown on the page |
| numeric_value | The value as a number, for chart rows |
| note, data_year | A note and the year of the data |
| source, source_url | The citation and the link to the original publication |
Use the statistics in code
The same files in three ways. More examples and the full schema are in the dataset docs.
curl
curl -s https://dyscalculia.io/data/dyscalculia-statistics.json | jq 'keys'Python (pandas)
import pandas as pd
df = pd.read_csv("https://dyscalculia.io/data/dyscalculia-statistics.csv", comment="#")
df[df.type == "chart"][["title", "row", "value", "data_year"]]R
df <- read.csv("https://dyscalculia.io/data/dyscalculia-statistics.csv", comment.char = "#")
subset(df, type == "chart")What the figures are and are not
The figures describe groups of children in published studies, not any one child. No published meta-analysis gives a single world rate, so the data holds the range from population studies and each study separately, each with its year; a rate we calculated ourselves from a source is marked as ours. The free screening test on Dyscalculia.io is a screening, not a diagnosis; only a qualified professional can diagnose dyscalculia. How the test is built is on the methodology page.
Developer tools: frequently asked questions
Are the statistics free to use in a report or an app?
Yes. The compilation (tables, charts and text) is licensed CC BY 4.0: credit Dyscalculia.io and link the statistics page. Each underlying figure belongs to the source it cites.
How current is the data?
The files are built from the same content as the statistics page, so they match what the site shows. Each figure carries its data year, and the page states when it was last reviewed.
Do the files include the screening test results?
No. The test runs in the browser and its answers stay on the device. The test description file lists the items and the scoring rules, not anyone's answers.
Can I put the number games on my own site?
Yes. Five free practice games can be embedded in six languages. They are practice, not a test: they show no score and no result. See the embed page for the code.