arc-issues-mcp
v1.0.0
Published
MCP server for managing accessibility issues with AxeCore integration
Maintainers
Readme
Arc Issues MCP Server
Formats accessibility issues from AxeCore into standardized, JIRA-ready templates.
Quick Start
Add to your MCP client configuration:
{
"mcpServers": {
"arc-issues": {
"command": "npx",
"args": ["-y", "arc-issues-mcp"]
}
}
}That's it! No cloning, no building - just add the config and start formatting accessibility issues.
Features
Phase 1 Tools
format_axe_violation- Convert AxeCore violations to formatted issueslist_issue_templates- List all available templatesget_issue_template- Retrieve a specific templatevalidate_issue- Validate formatted issue completeness
Resources
Access templates via MCP resources:
template://arc-accessibility-issue-template.mdtemplate://web/control-lacks-a-label-in-the-code.mdtemplate://web/heading-levels-incorrectly-nested.mdtemplate://web/images-should-be-marked-as-decorative.mdtemplate://web/interactive-element-is-not-keyboard-accessible.md
Adding New Templates
No code changes needed! Just:
- Create template in
/data/web/your-template.md - Update
/data/template-mappings.json - Rebuild:
npm run build
See docs/ADDING_TEMPLATES.md for detailed guide.
Template Mappings
The server uses /data/template-mappings.json to route AxeCore violations to appropriate templates:
- 28 AxeCore rules → Specialized templates
- 100+ AxeCore rules → Base template
- 100% coverage of AxeCore 4.11
Edit the JSON file to add new mappings - no TypeScript changes required!
Usage Example
// Format an AxeCore violation
{
"tool": "format_axe_violation",
"arguments": {
"violation": {
"id": "button-name",
"impact": "critical",
"tags": ["wcag2a", "wcag412"],
"description": "Ensures buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.11/button-name",
"nodes": [{
"html": "<button onclick='submit()'>→</button>",
"target": ["#checkout-form > button"],
"failureSummary": "Element does not have inner text"
}]
},
"context": {
"url": "https://example.com",
"browser": "Chrome",
"operatingSystem": "macOS"
}
}
}Documentation
- prd.md - Product requirements and specifications
- docs/ADDING_TEMPLATES.md - Guide to adding new templates
- docs/AXECORE_RULES.md - Complete AxeCore 4.11 rule list
- docs/AXECORE_MAPPING.md - Detailed field mapping documentation
- docs/RULE_COVERAGE.md - Coverage analysis
