AccessibilityAI

AccessibilityAI

Autonomous WCAG 2.1 accessibility auditor that scans, fixes, re-verifies, and generates VPAT 2.5 EN 301 549 reports using AI vision analysis + DOM scanning.

Category
访问服务器

README

AccessibilityAI — by GroundLogic AI

Autonomous WCAG 2.1 accessibility auditor that scans, fixes, re-verifies, and generates VPAT 2.5 EN 301 549 reports using AI vision analysis + DOM scanning.

[Add demo GIF here]

License: MIT MCP Compatible WCAG 2.1


What It Does

AccessibilityAI is an open-source MCP server that:

  1. Scans a URL using axe-core (DOM) + Claude Vision (AI screenshot analysis)
  2. Generates surgical, framework-specific code fixes for every violation
  3. Re-verifies by re-scanning after fixes are applied, showing exactly what was resolved
  4. Produces a complete VPAT 2.5 EN 301 549 accessibility conformance report (all clauses, PDF + JSON)

It runs as an MCP server over Streamable HTTP — compatible with Claude Desktop, Claude Code, Cursor, and any MCP client.


Quick Start

This is a pnpm monorepo. The MCP server lives in artifacts/api-server/.

# 1. Clone and install
git clone https://github.com/groundlogic-ai-source/accessibility-ai
cd accessibility-ai
pnpm install

# 2. Install the Playwright browser (required for scanning)
npx playwright install chromium

# 3. Set environment variables
export DATABASE_URL="postgresql://user:pass@localhost:5432/accessibilityai"
# Or copy from a .env file — pnpm-workspace reads it automatically

# 4. Push the database schema
pnpm --filter @workspace/db run push

# 5. Start the MCP server
pnpm --filter @workspace/api-server run dev
# MCP endpoint:   http://localhost:8080/mcp
# Health check:   http://localhost:8080/api/healthz
# REST scan:      http://localhost:8080/api/scan  (no MCP client needed)

Bring Your Own Key

AccessibilityAI uses a Bring Your Own Key (BYOK) model. You supply your own Anthropic API key with each tool call — it is never stored, never logged, and used only for the duration of that single request.

Your key is never retained. See PRIVACY.md for full details.

You can get an Anthropic API key at console.anthropic.com.


MCP Tools

scan_accessibility

Scans a URL for WCAG 2.1 accessibility violations using DOM analysis and visual AI.

Input:

{
  "url": "https://example.com",
  "anthropic_api_key": "sk-ant-...",
  "scan_depth": "single_page",
  "max_pages": 1
}

Output:

{
  "scan_id": "uuid",
  "url": "https://example.com",
  "total_violations": 12,
  "violations_by_severity": { "critical": 2, "serious": 4, "moderate": 5, "minor": 1 },
  "estimated_fix_time": "2-4 hours",
  "violations": [...]
}

generate_fixes

Takes scan results and generates specific code fixes for each violation. Returns patches ready to paste into Claude Code or Replit Agent.

Input:

{
  "scan_id": "uuid-from-scan",
  "framework": "react",
  "anthropic_api_key": "sk-ant-..."
}

Output:

{
  "scan_id": "uuid",
  "fixes": [
    {
      "wcag_criterion": "1.1.1",
      "issue": "Image missing alt text",
      "before": "<img src=\"hero.jpg\">",
      "after": "<img src=\"hero.jpg\" alt=\"Hero banner showing product dashboard\">",
      "explanation": "...",
      "caveats": "..."
    }
  ],
  "copy_paste_summary": "Please fix the following accessibility violations in my codebase:\n..."
}

The copy_paste_summary field is formatted to paste directly into Claude Code or Replit Agent.


re_verify

Re-scans the URL after fixes have been applied and compares against the original scan.

Input:

{
  "scan_id": "original-scan-uuid",
  "anthropic_api_key": "sk-ant-..."
}

Output:

{
  "original_violations": 12,
  "current_violations": 3,
  "resolved": [...],
  "persisting": [...],
  "new_violations": [],
  "improvement_percentage": 75,
  "summary": "9 of 12 violations resolved (75% improvement). 3 violation(s) remain."
}

generate_vpat

Generates a complete VPAT 2.5 EN 301 549 accessibility conformance report. Returns a PDF (base64) and structured JSON covering all clauses.

Input:

{
  "scan_id": "uuid-from-scan",
  "product_name": "My SaaS App",
  "product_version": "2.1.0",
  "company_name": "Acme Corp",
  "contact_email": "accessibility@acme.com",
  "anthropic_api_key": "sk-ant-..."
}

Output:

  • vpat_json — Full structured VPAT report (all EN 301 549 clauses)
  • pdf_base64 — Base64-encoded PDF, decode and save as .pdf
  • overall_conformance_percentage — % of WCAG 2.1 Level A & AA criteria met

Used in Production

AccessibilityAI powers accessibility compliance workflows in healthcare and government sectors where VPAT documentation is required for procurement. Organizations use it to generate baseline conformance reports before manual audits, saving 4-8 hours per audit cycle.


Limitations

  • Automated tools detect approximately 40–60% of accessibility issues. Manual review by a certified accessibility specialist is recommended for full compliance certification.
  • VPAT reports generated by this tool should be reviewed before regulatory submission.
  • Full-site scans are capped at 10 pages. Deep navigation paths may not be reached.
  • Non-web EN 301 549 clauses (hardware, voice, closed software) are marked "Not Evaluated" — manual assessment required for those.
  • Scan results are retained for 1 hour. Re-run scan_accessibility if results expire.

MCP Client Configuration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "accessibility-ai": {
      "url": "https://your-deployed-instance.com/mcp",
      "transport": "streamable-http"
    }
  }
}

Claude Code / CLI

claude mcp add --transport http accessibility-ai https://your-deployed-instance.com/mcp

Contributing

Contributions are welcome. Please:

  1. Fork the repo and create a feature branch
  2. Follow existing code style (TypeScript strict mode, no any)
  3. Add or update tests for changed behavior
  4. Open a pull request with a clear description

For bug reports and feature requests, open a GitHub Issue.


License

MIT — see LICENSE for details.

GroundLogic AI — info@groundlogic.ai

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选