MCP server providing ATAG 2.0 (Authoring Tool Accessibility Guidelines) guidance for authoring tool developers
Strong tool naming (all verb-prefixed, clear intent) and comprehensive descriptions (avg 180 chars, well above 10-char minimum). All 13 tools have explicit schemas with proper Zod types and parameter descriptions. Input validation is present via Zod parsing. However, output schemas are not formally documented in the tool definitions, responses are text-based without structured field declarations. Error handling is minimal; tools do not guide recovery or categorize errors. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations. Parameter descriptions are good but could be more prescriptive about constraints (e.g., search query minimum 4 chars is mentioned in description but not enforced in schema).
Get an overview of ATAG 2.0 — what it is, who it applies to, how it differs from WCAG, and its two-part structure.
Get all ATAG 2.0 success criteria at a specific conformance level (A, AA, or AAA).
Get full details for a specific ATAG 2.0 success criterion by ID (e.g. 'B.2.3.1' or 'A.3.1.2'), including description, conformance level, and implementation notes.
Look up a specific ATAG 2.0 glossary term by name.
Get ATAG 2.0 success criteria recommendations based on a description of an accessibility challenge or feature request.
Get full details for a specific ATAG 2.0 guideline by ID (e.g. 'B.2.3'), including its description and all child success criteria.
Output schemas not formally documented. Tools return text via textResponse() helper, but no structured field definitions are visible in tool registration. LLMs cannot plan downstream calls or extract typed data.
No tool annotations despite all 13 tools being read-only. Adding readOnlyHint=true to each tool definition would signal to agents that these calls are safe to retry and have no side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Get information about this ATAG MCP server including the total number of principles, guidelines, success criteria, and glossary terms available.
List all ATAG 2.0 glossary terms with their definitions.
List ATAG 2.0 guidelines. Optionally filter by part (A or B) and/or principle ID (e.g. 'A.3').
List both parts of ATAG 2.0 with their descriptions and principle counts.
List ATAG 2.0 principles. Optionally filter by part (A or B).
List ATAG 2.0 success criteria. Filter by part, principle ID, guideline ID, and/or conformance level.
Search ATAG 2.0 principles, guidelines, success criteria, and glossary terms by keyword. Returns ranked results with snippets.
Error handling is absent. Tools do not validate inputs (e.g., search-atag requires 4+ char query but schema does not enforce minLength), do not return actionable error messages, and do not guide recovery. Invalid inputs will fail silently or with generic errors.
No pagination support on list tools. list-principles, list-guidelines, list-success-criteria, list-glossary lack limit/offset parameters and total counts. Large result sets could exhaust context windows.
search-atag description mentions '4 character minimum' but schema does not enforce minLength constraint. Constraint should be in schema, not just description text.