Install
$ agentstack add mcp-alii13-accessibility-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
♿ Accessibility MCP Server
A Model Context Protocol (MCP) server that provides conversational, actionable accessibility testing. This server exposes accessibility auditing tools that can be used by AI agents and chat interfaces.
✨ Features
- Conversational Results: Results formatted for natural language understanding, not raw data
- Session Management: Reusable authenticated sessions for testing protected pages
- Tag Filtering: Filter results by specific WCAG levels (wcag2a, wcag2aa, wcag21a, etc.)
- Educational Focus: Tools that explain issues in plain language with code examples
- Code-Level Fixes: Actual before/after code examples, not just descriptions
- Progress Updates: Streaming progress for long-running batch operations
- Smart Prioritization: AI-powered issue prioritization with quick wins identification
- Compliance Reports: Automated VPAT/WCAG/ADA compliance documentation
- Trend Tracking: Historical data and predictions for accessibility improvements
📋 Prerequisites
- Node.js 18+ (for
npxcommand) - That's it! Everything else is handled automatically.
🚀 Quick Start (Using Published Package)
Step 1: Add to Your MCP Client Configuration
Add this server to your MCP client configuration (e.g., Claude Desktop, Cursor):
Claude Desktop Configuration
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"accessibility-audit": {
"command": "npx",
"args": ["-y", "@ali0113/accessibility-mcp-server"]
}
}
}
Cursor Configuration
Add to your Cursor MCP settings (~/.cursor/mcp.json or Cursor Settings → MCP):
{
"mcpServers": {
"accessibility-audit": {
"command": "npx",
"args": ["-y", "@ali0113/accessibility-mcp-server"]
}
}
}
Step 2: Restart Your MCP Client
Restart Claude Desktop or Cursor to load the new MCP server configuration.
Step 3: Start Using It!
That's it! You're ready to use all 25+ accessibility tools. The package will be automatically downloaded and cached by npx on first use.
How it works:
npxautomatically downloads and runs the package if needed- The
-yflag answers "yes" to prompts (non-interactive) - Playwright browsers install automatically on first run
- No manual installation, building, or configuration needed!
🎉 Awesome Things You Can Do
🔍 Comprehensive Accessibility Auditing
- Audit any website - Single URLs, multiple pages, or entire sites
- Test protected pages - Authenticated session management for login-protected content
- Batch processing - Test multiple URLs in parallel with progress tracking
- WCAG compliance - Check against WCAG 2.0, 2.1 (Levels A, AA, AAA) and best practices
🎯 Smart Prioritization & Quick Wins
- Identify critical blockers - Find must-fix issues that block users
- Quick wins detection - Easy fixes with high impact
- Intelligent prioritization - Sort by impact, WCAG level, fixability, or user impact
- Focus your efforts - Know exactly what to fix first
💻 Code-Level Fixes
- Before/after code examples - See exactly what needs to change
- Copy-paste ready solutions - Actual code, not just descriptions
- Multiple formats - Markdown, HTML, or JSON output
- Specific fix suggestions - Targeted solutions for each issue
📚 Educational Resources
- Plain language explanations - Understand what each issue means
- Why it matters - Learn the user impact
- How to fix - Step-by-step guidance with examples
- WCAG references - Direct links to accessibility standards
- Common mistakes - Learn from typical errors
📊 Compliance & Reporting
- VPAT reports - Generate Voluntary Product Accessibility Template documentation
- WCAG compliance reports - Detailed compliance breakdowns
- ADA reports - Americans with Disabilities Act compliance
- Section 508 reports - Federal accessibility compliance
- Executive summaries - High-level reports for stakeholders
📈 Tracking & Comparison
- Before/after comparison - Track improvements over time
- Trend analysis - Historical data and predictions
- Score tracking - Monitor accessibility scores
- Visual diffs - See what changed between audits
📤 Export & Share
- CSV export - Import into Excel for analysis
- Excel export - Professional reports with charts and formatting
- JSON export - For API integration and data processing
- HTML reports - Standalone web reports with visualizations
- Dashboard generation - Visual summaries with charts
🔎 Filtering & Search
- Filter by criteria - Rule IDs, categories, impact levels, WCAG levels
- Search issues - Find specific problems quickly
- Include/exclude modes - Focus on what matters
- Element type filtering - Find issues in specific HTML elements
📊 Statistics & Aggregation
- Site-wide analysis - Combine multiple audit results
- Detailed statistics - Breakdowns by category, impact, WCAG level
- Aggregated summaries - Overall site accessibility metrics
- Grouping options - Organize by URL, category, rule, or impact
🎨 Visualization
- Dashboards - Visual summaries with key metrics
- Charts - Score trends and category breakdowns
- Multiple formats - Text, Markdown, HTML, JSON
- Executive reports - High-level summaries for stakeholders
💡 Real-World Use Cases
For Developers
- Get code-level fixes for accessibility issues
- Learn accessibility concepts with educational explanations
- Integrate into CI/CD pipelines
- Export results for team sharing
For QA Teams
- Batch test multiple pages efficiently
- Track accessibility over time
- Generate compliance reports
- Compare before/after deployments
For Product Managers
- Executive summary reports
- Compliance documentation (VPAT, ADA)
- Dashboard visualizations
- Track accessibility scores over time
For Compliance Teams
- Generate VPAT reports automatically
- WCAG compliance documentation
- Section 508 compliance checks
- Detailed remediation plans
🎬 Quick Usage Example
Once configured, you can immediately start using the accessibility tools in your AI assistant:
Example: Audit a website
"Audit https://example.com for accessibility issues"
Example: Get quick fixes
"Show me quick fixes for the accessibility issues on cursor.com"
Example: Generate compliance report
"Generate a VPAT report for docs.atlan.com"
Example: Compare before/after
"Compare the accessibility of example.com before and after the redesign"
The AI assistant will automatically use the appropriate tools to fulfill your requests!
🛠️ Available Tools
Tier 1: Core Audit Tools
audit_url - Single URL Audit
Test a single URL for accessibility issues with conversational, actionable results.
Inputs:
url(required): Full URL or relative pathdomain(optional): Base domain if URL is relativetags(optional): Array of accessibility tags to check (e.g.,["wcag2a", "wcag2aa", "wcag21a", "best-practice"]). If not provided, all tags are checked.waitForLoad(optional): Wait strategy -"networkidle"(default) |"load"|"domcontentloaded"timeout(optional): Timeout in seconds (default: 30)
Example:
{
"url": "https://example.com",
"tags": ["wcag21aa"],
"timeout": 45
}
Output: Structured JSON with summary, prioritized violations, WCAG compliance breakdown, quick fix suggestions, and conversational explanation.
audit_multiple_urls - Batch Audit
Test multiple URLs efficiently with progress updates.
Inputs:
urls(required): Array of URLs or comma-separated stringdomain(optional): Base domaintags(optional): Array of accessibility tagsparallel(optional): Number of parallel tests (default: 1)continueOnError(optional): Continue if one fails (default: true)
Example:
{
"urls": ["/home", "/about", "/contact"],
"domain": "https://example.com",
"tags": ["wcag2aa"],
"parallel": 2
}
Output: Per-URL results, aggregated summary, and progress updates (streaming).
audit_site - Smart Site Audit
Intelligent site-wide audit with prioritization.
Inputs:
domain(required): Base domaintags(optional): Array of accessibility tags. Applied to all pages.strategy(optional):"critical"|"comprehensive"|"custom"(default:"comprehensive")maxPages(optional): Maximum pages to test (default: 50)priorityPaths(optional): Array of high-priority paths to test first
Example:
{
"domain": "https://example.com",
"strategy": "critical",
"priorityPaths": ["/", "/login", "/checkout"],
"tags": ["wcag21aa"],
"maxPages": 20
}
Output: Prioritized results (critical pages first), site-wide score, and trend analysis if previous audits exist.
Tier 2: Session Management
create_session - Authenticated Session
Create a reusable authenticated session for testing protected pages.
Inputs:
domain(required): Base domainusername(required): Login usernamepassword(required): Login passwordloginUrl(optional): Custom login URL (default:{domain}/login)loginSelectors(optional): Custom selectors for login form:usernameSelector(default:"input[type='email'], input[name='username'], input[id='username']")passwordSelector(default:"input[type='password']")submitSelector(default:"button[type='submit'], input[type='submit']")sessionId(optional): Custom session identifier (auto-generated if not provided)
Example:
{
"domain": "https://app.example.com",
"username": "user@example.com",
"password": "password123",
"loginUrl": "https://app.example.com/auth/login"
}
Output:
sessionId: Reusable session identifierexpiresAt: Session expiration time (ISO 8601)testUrl: Test URL to verify session
Differentiator: Only MCP with reusable session management for authenticated pages.
audit_with_session - Authenticated Audit
Run an audit using an existing authenticated session.
Inputs:
sessionId(required): Session fromcreate_sessionurl(required): URL to test (can be relative)domain(optional): Base domaintags(optional): Array of accessibility tagswaitForLoad(optional): Wait strategy (default:"networkidle")timeout(optional): Timeout in seconds (default: 30)
Example:
{
"sessionId": "session-abc123",
"url": "/dashboard",
"domain": "https://app.example.com",
"tags": ["wcag21aa"]
}
Output: Same as audit_url but for authenticated pages.
Tier 3: Analysis & Reporting
get_accessibility_score - Calculate Score
Calculate accessibility score (0-100) with detailed breakdowns.
Inputs:
results(required): Audit result object or URL stringweights(optional): Custom weights for different issue types:errors(default: 10)contrast(default: 8)alerts(default: 5)features(default: 3)structural(default: 6)
Example:
{
"results": "https://example.com",
"weights": {
"errors": 15,
"contrast": 10
}
}
Output:
- Overall score (0-100)
- Breakdown by category (contrast, navigation, forms, etc.)
- WCAG level compliance (A, AA, AAA)
- Trend if historical data available
prioritize_issues - Smart Prioritization
Intelligently prioritize issues, identifying quick wins and critical blockers.
Inputs:
results(required): Audit result objectcriteria(optional):"impact"|"wcag"|"fixability"|"user-impact"(default:"impact")limit(optional): Top N issues to return (default: 10)
Example:
{
"results": { /* audit result object */ },
"criteria": "fixability",
"limit": 5
}
Output:
- Prioritized list with reasoning
- Quick wins (easy fixes with high impact)
- Critical blockers
explain_issue - Educational Tool
Explain what an accessibility issue means in plain language.
Inputs:
ruleId(required): Accessibility rule ID (e.g.,"alt_missing","contrast","label_missing")context(optional): Additional context about the issue (HTML element, page URL, etc.)
Example:
{
"ruleId": "alt_missing",
"context": "Image on homepage hero section"
}
Output:
- Plain language explanation
- Why it matters (user impact)
- How to fix (with code examples)
- WCAG reference
- Common mistakes
Differentiator: Educational focus - helps users learn accessibility.
get_quick_fixes - Actionable Fixes
Get specific fix suggestions with before/after code examples.
Inputs:
results(required): Audit result object or URL stringformat(optional):"markdown"|"html"|"json"(default:"json")includeCode(optional): Include code examples (default: true)
Example:
{
"results": "https://example.com",
"format": "markdown",
"includeCode": true
}
Output:
- List of fixes with:
- Current code (if available)
- Fixed code
- Explanation
- Impact estimate
Differentiator: Code-level fixes, not just descriptions.
generate_compliance_report - Compliance Documentation
Generate compliance reports in various formats.
Inputs:
results(required): Audit result objectformat(optional):"VPAT"|"WCAG"|"ADA"|"Section508"(default:"WCAG")level(optional):"A"|"AA"|"AAA"(default:"AA")includeRemediation(optional): Include fix suggestions (default: true)
Example:
{
"results": { /* audit result object */ },
"format": "VPAT",
"level": "AA",
"includeRemediation": true
}
Output:
- Formatted compliance report
- WCAG mapping
- Remediation plan
- Executive summary
get_wcag_compliance - WCAG Status
Check WCAG compliance status with per-criterion breakdown.
Inputs:
results(required): Audit result object or URL stringlevel(optional):"A"|"AA"|"AAA"(default:"AA")
Example:
{
"results": "https://example.com",
"level": "AA"
}
Output:
- Compliance status (pass/fail/partial)
- Per-criterion breakdown
- Missing requirements
- Compliance percentage
Tier 4: Comparison & Tracking
compare_accessibility - Before/After Comparison
Compare two audits to track improvements.
Inputs:
before(required): Previous audit result or URLafter(required): Current audit result or URLformat(optional):"summary"|"detailed"|"diff"(default:"summary")
Example:
{
"before": "https://example.com/v1",
"after": "https://example.com/v2",
"format": "detailed"
}
Output:
- Issues fixed
- Issues introduced
- Score improvement
- Remaining issues
- Visual diff (if applicable)
track_accessibility - Historical Tracking
Track accessibility over time with trend analysis.
Inputs:
url(required): URL to tracktimeframe(optional):"7d"|"30d"|"90d"|"all"(default:"30d")metric(optional):"score"|"issues"|"wcag-compliance"(default:"score")
Example:
{
"url": "https://example.com",
"timeframe": "90d",
"metric": "score"
}
Output:
- Historical data
- Trend visualization (text-based)
- Predictions
- Recommendations
Tier 5: Export & Data Management
export_to_csv - Export to CSV
Export audit results to CSV format for spreadsheet analysis, including metadata and violation rows.
Inputs:
results(required): Audit result object or URL stringincludeMetadata(optional): Include test information and environment data (default:true)includeViolations(optional): Inclu
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: alii13
- Source: alii13/accessibility-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.