ATAG 2.0 (Authoring Tool Accessibility Guidelines) guidance for authoring tool developers
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP (Model Context Protocol) server that provides guidance on ATAG 2.0 β the W3C Authoring Tool Accessibility Guidelines β to help authoring tool developers build more accessible software.
ATAG 2.0 defines how authoring tools (rich-text editors, CMSes, IDEs, website builders, etc.) should:
ATAG 2.0 has been a W3C Recommendation since 2015, but adoption among authoring tools remains limited β partly because the guidance is easy to overlook at the moment design and implementation decisions are actually made. With more authoring tool features now being built with the help of AI coding assistants, this server puts the full spec within the assistant's reach: describe the feature you're working on (an image upload dialog, a rich-text toolbar, a template picker) and get back the actual success criteria that apply, rather than a half-remembered summary. The aim is to lower the cost of considering ATAG at all β the first step towards tools that support it.
The data is a static, hand-checked copy of the ATAG 2.0 spec β not fetched or generated at runtime β so answers stay faithful to the W3C source. A weekly workflow checks for upstream spec changes.
| Tool | Description |
|---|---|
get-server-info | Dataset statistics and attribution |
explain-atag | Overview of ATAG, how it differs from WCAG, and its two-part structure |
list-parts | Part A and Part B summaries |
list-principles | All 8 principles, filterable by part |
list-guidelines | All 24 guidelines, filterable by part or principle |
list-success-criteria | All 63 success criteria, filterable by part, principle, guideline, or level |
get-criterion | Full details for a specific SC (e.g. B.2.3.1) |
get-guideline | Full guideline details with all child success criteria |
get-criteria-by-level | All criteria at Level A, AA, or AAA |
search-atag | Keyword search across all ATAG content |
list-glossary-terms | All ATAG glossary terms |
get-glossary-term | Definition of a specific ATAG term |
get-guidance | Key tool β describe a feature you're building and get the most relevant ATAG criteria |
No local install required β add the config below and your MCP client will fetch the package automatically via npx.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Ask Claude:
get-guidanceget-criteria-by-levelget-guidelineget-glossary-termsearch-atagThis project follows git flow with Conventional Commits:
main β released code only; every merge to main is tagged and publisheddevelop β integration branch; day-to-day work lands herefeature/<name> β branched from and merged back to developrelease/<version> β branched from develop, merged to main (tagged) and back to develophotfix/<name> β branched from main for urgent fixes, merged to both main and developCommit messages use conventional prefixes: feat:, fix:, docs:, test:, ci:, chore:, refactor: (with ! or a BREAKING CHANGE: footer for breaking changes).
Versioning uses standard npm version bumps. Pushing a v* tag triggers the GitHub Actions publish workflow, which runs tests and publishes to npm automatically.
When bumping the version, also update the version fields in server.json to match β the MCP Registry validates them against the published npm package. After the npm publish succeeds, refresh the registry listing with:
Publishing requires the NPM_TOKEN repository secret (a granular npm access token with write access to atag-mcp). If the token expires or is rotated, add the new one under the same secret name, then run the manual Check npm token workflow (Actions tab) to verify it authenticates before tagging a release.
The ATAG 2.0 spec is captured in data/atag.json. The GitHub Actions workflow (.github/workflows/update-atag.yml) runs weekly and opens an issue if the W3C spec content changes.
To update manually:
data/atag.json with the changesnpm run validate-data to check structurenpm run check-updates -- --save to update the stored hashMIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/atag-mcp)<a href="https://allmcps.com/mcp/atag-mcp"><img src="https://allmcps.com/api/badge/atag-mcp?style=directory" alt="Atag Mcp on AllMCPs" /></a>