# Dyscalculia.io

> Open number-sense practice data and game catalogue for dyscalculia. Read-only.

- name: io.dyscalculia/dyscalculia
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.dyscalculia%2Fdyscalculia
- tools: https://api.protogrid.dev/v1/servers/io.dyscalculia%2Fdyscalculia/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "dyscalculia": {
      "type": "http",
      "url": "https://mcp.dyscalculia.io/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 95
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-89% +updated-12d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_chart_data (destructiveHint, idempotentHint); get_citation (destructiveHint, idempotentHint); get_prevalence (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,116 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,116 tokens to load them all
- tool set hash: e60ecb2eaae7dce8d7c63e365b6713a6
- badge: [![protogrid quality](https://protogrid.dev/badge/io.dyscalculia/dyscalculia.svg)](https://protogrid.dev/servers/io.dyscalculia/dyscalculia)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.dyscalculia.io/mcp (streamable-http, auth none, reachable true, uptime30d 0.8863636)

## Packages

_none_

## Tools (6)

- `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.
- `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.
- `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.
- `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.
- `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.
- `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.
