{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:59:19.967Z","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp","markdownUrl":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp.md","server":{"slug":"com-dyslexiasteps-dyslexia-steps","name":"Dyslexia Steps","registryName":"com.dyslexiasteps/dyslexia-steps","description":"Phonics word lists and reading-game catalogue for dyslexia support. Read-only.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp","type":"remote","identifier":"https://mcp.dyslexiasteps.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp","version":"0.1.0","transport":null,"scoredAt":"2026-11-05T05:14:59.627Z"},"score":{"total":74,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":74},{"date":"2026-11-04","total":74},{"date":"2026-11-03","total":73},{"date":"2026-11-02","total":73},{"date":"2026-11-01","total":72},{"date":"2026-10-31","total":72},{"date":"2026-10-30","total":71},{"date":"2026-10-29","total":71},{"date":"2026-10-28","total":70},{"date":"2026-10-27","total":70},{"date":"2026-10-26","total":69}]},"categories":[{"name":"Endpoint Security","score":74,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":71,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 604 tokens (~100/item across 6 items; 6 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"100","items":"6","tools":"6","tokens":"604","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":33,"verdict":"partial","reasons":["Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"10"}}]},{"name":"Tool Coverage","score":87,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","62% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"62"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"mcp","type":"remote","identifier":"https://mcp.dyslexiasteps.com/mcp","withdrawn":false,"score":74,"current":true,"url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp","markdownUrl":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp.md"}],"facts":[{"label":"Endpoint","value":"https://mcp.dyslexiasteps.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"0.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_word_lists","title":"List word lists","description":"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.","inputs":[{"name":"grade","type":"string","required":false,"description":"English lists that cover this grade."},{"name":"language","type":"string","required":false,"description":"en, de, es, fr, nl or pt-br. Omit for all."},{"name":"section","type":"string","required":false,"description":"cvc, families, sight, digraphs, patterns or wordlist (other languages)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":163},{"name":"get_word_list","title":"Get one word list","description":"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.","inputs":[{"name":"id","type":"string","required":true,"description":"List id, e.g. short-a, kindergarten, vowel-teams, or es:palabras-con-m"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"get_words_for_grade","title":"Words for a grade","description":"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.","inputs":[{"name":"grade","type":"string","required":true,"description":"pre-k, kindergarten, grade-1, grade-2 or grade-3"},{"name":"limit","type":"integer","required":false,"description":"Maximum words to return. Default 300."},{"name":"section","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":141},{"name":"find_words","title":"Find words by pattern","description":"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.","inputs":[{"name":"contains","type":"string","required":false,"description":null},{"name":"ends_with","type":"string","required":false,"description":null},{"name":"grade","type":"string","required":false,"description":"Only English lists covering this grade."},{"name":"language","type":"string","required":false,"description":null},{"name":"limit","type":"integer","required":false,"description":"Default 60."},{"name":"starts_with","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":109},{"name":"get_placement_basis","title":"How grades were assigned","description":"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.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":58},{"name":"get_citation","title":"How to cite and reuse the word lists","description":"License (CC BY 4.0 for the compilation; the Dolch words are public domain), the citation text and the CSV and JSON download addresses.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":40}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T05:14:59.000Z","track":"remote","endpoint":"https://mcp.dyslexiasteps.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=dyslexiasteps.com","issuer":"CN=YE2,O=Let's Encrypt,C=US","notBefore":"2026-10-02T07:31:44Z","notAfter":"2026-12-31T07:31:43Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE2,O=Let's Encrypt,C=US","issuer":"CN=Root YE,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=Root YE,O=ISRG,C=US","issuer":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"mcp.dyslexiasteps.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"dyslexiasteps.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-26","recent":[{"id":"chg_01a1a4f6-15cd-71e5-a7b9-b54f2b2785bb","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a1a4f6-15cd-71e5-a7b9-b54f2b2785bb"},{"id":"chg_01a19aa8-136e-7845-b975-c00a025929dd","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a19aa8-136e-7845-b975-c00a025929dd"},{"id":"chg_01a1905b-a996-76fc-bc42-058d18a53c71","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a1905b-a996-76fc-bc42-058d18a53c71"},{"id":"chg_01a1860f-dc69-7334-b23e-e22edb81e33f","kind":"score.total_changed","summary":"Trust score (70 → 71)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a1860f-dc69-7334-b23e-e22edb81e33f"},{"id":"chg_01a17bc2-a6bf-728f-9b29-d4175723372d","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a17bc2-a6bf-728f-9b29-d4175723372d"},{"id":"chg_01a17bc2-a6bf-7b8e-b790-896592cad3f7","kind":"score.total_changed","summary":"Trust score (69 → 70)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a17bc2-a6bf-7b8e-b790-896592cad3f7"},{"id":"chg_01a178b9-dc38-7c27-a41f-4185c914eb4a","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp#chg-chg_01a178b9-dc38-7c27-a41f-4185c914eb4a"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp","markdown":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp.md","changelogJson":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/com-dyslexiasteps-dyslexia-steps/mcp.xml","external":[{"label":"Remote endpoint","href":"https://mcp.dyslexiasteps.com/mcp"},{"label":"Repository","href":"https://github.com/Dyslexia-Steps/dyslexiasteps-mcp"},{"label":"Website","href":"https://dyslexiasteps.com/mcp"}]}}