magentaa11y-mcp
v1.0.3
Published
MCP server providing accessibility criteria from MagentaA11y
Maintainers
Readme
MagentaA11y MCP Server
MCP server providing accessibility criteria from MagentaA11y. Works locally (stdio) and remotely (Netlify Functions).
Installation
Via npm (Recommended)
{
"mcpServers": {
"magentaa11y": {
"command": "npx",
"args": ["-y", "magentaa11y-mcp"]
}
}
}Claude Code CLI
mcp add --scope user magentaa11y -- npx -y magentaa11y-mcpUse --scope project instead of --scope user to install for the current project only.
Local Development
{
"mcpServers": {
"magentaa11y": {
"command": "node",
"args": ["/path/to/src/index.js"]
}
}
}Remote (Netlify)
Clone this project, build it, and deploy to Netlify. Then use the following configuration:
{
"mcpServers": {
"magentaa11y": {
"command": "npx",
"args": ["mcp-remote@next", "https://your-site.netlify.app/mcp"]
}
}
}Example Prompts
- Get me the accessibility criteria for the Web Button component in Gherkin format.
- Get me a list of all the native components.
- Get me the Tooltip AC for Web - Condensed in markdown format.
Tools
All tools are read-only, non-destructive, and idempotent. They include OpenAI Apps SDK annotations for enhanced integration.
| Tool | Description |
|------|-------------|
| list_web_components | List web accessibility components |
| get_web_component | Get detailed criteria for a web component |
| search_web_criteria | Search web criteria by keyword |
| list_native_components | List native iOS/Android components |
| get_native_component | Get detailed criteria for a native component |
| search_native_criteria | Search native criteria by keyword |
| get_component_gherkin | Get Gherkin-style acceptance criteria |
| get_component_condensed | Get condensed acceptance criteria |
| get_component_developer_notes | Get developer implementation notes |
| get_component_native_notes | Get iOS or Android specific notes |
| list_component_formats | List available formats for a component |
OpenAI Marketplace Tool Annotations
Each tool includes these annotations (OpenAI Apps SDK compatible):
readOnlyHint: true- Tools only read data, never modifydestructiveHint: false- No destructive operationsidempotentHint: true- Same input always produces same outputopenWorldHint: false- Operates on curated MagentaA11y dataset
Development Setup
git clone --recurse-submodules https://github.com/joe-watkins/magentaa11y-mcp.git
cd magentaa11y-mcp
npm install
npm run update-contentUpdating Content
The accessibility criteria comes from the magentaA11y submodule. To update:
npm run update-contentThis pulls the latest from magentaA11y, builds it, and copies the generated content.json to /data.
Project Structure
src/
index.js # MCP server (stdio transport)
tools.js # Tool definitions and handlers
helpers.js # Data loading and search utilities
data/
content.json # MagentaA11y accessibility criteria
netlify/
functions/api.js # Netlify Function (SSE transport)
scripts/
update-content.js # Build script for updating contentLicense
This MCP server is licensed under the MIT License.
Third-Party Content Attribution
The accessibility criteria content served by this MCP server is sourced from MagentaA11y by T-Mobile, which is licensed under the Apache License 2.0.
MagentaA11y © T-Mobile USA, Inc. - Licensed under Apache 2.0
Links
Privacy & Data Handling
This MCP server is read-only and collects no user data. All accessibility criteria is sourced from the public MagentaA11y project.
