arc-templated-issues-mcp
v1.0.2
Published
ARC accessibility issue templates MCP server
Readme
arc-templated-issues-mcp
ARC accessibility issue templates as an MCP server. Converts AxeCore violations into formatted issue templates and provides access to web and native accessibility issue templates.
Usage
Claude Code — add via CLI:
claude mcp add arc-templated-issues-mcp --scope user npx -- -y arc-templated-issues-mcpClaude Desktop — add to your MCP settings JSON:
{
"mcpServers": {
"arc-templated-issues-mcp": {
"command": "npx",
"args": ["-y", "arc-templated-issues-mcp"]
}
}
}Tools
| Tool | Description |
|------|-------------|
| list_issue_templates | Lists available accessibility issue template files (web and native). |
| get_issue_template | Returns the full content of a template by name (web-issue-templates.md or native-issue-templates.md). |
| format_violations | Converts one or more AxeCore violations into formatted markdown or JSON issue templates. |
| validate_issue | Validates that a formatted issue contains all required sections. |
format_violations
Accepts standard AxeCore violation objects and returns structured issue templates ready for filing.
Parameters:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| violations | object or array | Yes | Single AxeCore violation or array of violations |
| context | object | No | Page context: url, browser, operatingSystem, buildVersion, stepsToReproduce |
| outputFormat | "markdown" | "json" | No | Defaults to "markdown" |
Example input:
{
"violations": [{
"id": "button-name",
"impact": "critical",
"tags": ["wcag412", "wcag244"],
"description": "Ensures buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name",
"nodes": [{
"html": "<button></button>",
"target": [".cta-button"],
"failureSummary": "Element does not have inner text that is visible to screen readers"
}]
}],
"context": { "url": "https://example.com/checkout" }
}Templates
Templates are sourced from the arc-templated-issues npm package.
| Template | Platform | Contents |
|----------|----------|----------|
| web-issue-templates.md | Web | Control labeling, heading structure, images, keyboard access, link text, contrast, focus management, semantic HTML |
| native-issue-templates.md | Native (iOS/Android) | Button labels, focus order, heading traits, decorative images, grouping, state communication |
Project Structure
src/
index.js MCP server (stdio transport)
tools.js Tool definitions and handlers
data/
template-index.json Routing — maps template names to paths within arc-templated-issuesDevelopment
git clone <repo-url>
npm install
npm startnpm scripts
| Script | Description |
|--------|-------------|
| npm start | Start the MCP server |
| npm run release:patch | Bump patch version and publish to npm |
| npm run release:minor | Bump minor version and publish to npm |
| npm run release:major | Bump major version and publish to npm |
