Accessai
MCP server for AccessAI β AI-powered web accessibility scanning and analysis for developer agents (Cursor, Cline, Claude Code, etc.)
Ask AI about Accessai
Powered by Claude Β· Grounded in docs
I know everything about Accessai. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
AccessAI
AccessAI β Helps web developers instantly identify, understand, and fix accessibility barriers by combining automated WCAG scanning with AI-powered expert recommendations.
π Live: https://access-ai.solutions
Architecture
| Component | Tech Stack | Directory |
|---|---|---|
| Frontend | Next.js 15, Tailwind CSS, Supabase Auth | frontend/ |
| Backend | Express.js, TypeScript, Playwright, axe-core | backend/ |
| Browser Extension | React 18, Vite, Tailwind CSS, Chrome MV3 | extension/ |
| AI Agent | Python, FastAPI, Google ADK, Gemini 2.0 Flash | agent/ |
| MCP Server | TypeScript, MCP SDK, stdio transport | mcp-server/ β npm β |
| Database | Supabase (PostgreSQL) | Managed |
Getting Started
Prerequisites
- Node.js 20+
- Python 3.11+
- Docker & Docker Compose (for local development)
- Supabase account
- Google AI API key
Setup
-
Clone the repository:
git clone https://github.com/your-username/AccessAI.git cd AccessAI -
Copy environment variables:
cp .env.example .env # Fill in your values -
Start all services with Docker Compose:
docker compose up --buildOr run services individually:
Backend:
cd backend && npm install && npm run devAgent:
cd agent && pip install -r requirements.txt && uvicorn app.main:app --reloadFrontend:
cd frontend && npm install && npm run devBrowser Extension:
cd extension && npm install && npm run build # Then load `dist/` in chrome://extensions (see extension/README.md for details) -
Open http://localhost:3000 in your browser.
Deployment
| Service | Platform |
|---|---|
| Frontend | Vercel |
| Backend | Render |
| Agent | Render |
| Browser Extension | Chrome Web Store (manual upload) |
| MCP Server | npm (npx accessai-mcp) |
| Database | Supabase Cloud |
MCP Server
AccessAI ships an MCP (Model Context Protocol) server (mcp-server/) that lets AI coding agents β running inside Cursor, Cline, Claude Code, Windsurf, or any MCP-compatible tool β scan websites and HTML code for WCAG accessibility issues, view scan history, and chat about results, all without leaving the editor.
π¦ npm: accessai-mcp
Tools
| Tool | Description |
|---|---|
scan_url | Scan a live website URL for WCAG accessibility issues with AI-powered analysis |
scan_code | Scan raw HTML code directly for accessibility issues (no live URL needed) |
get_scan_history | Retrieve your past accessibility scan history |
get_scan_report | Get the full detailed report for a specific scan |
chat_about_scan | Ask the AI follow-up questions about a scan's results |
Resources
| Resource | Description |
|---|---|
accessai://scans/latest | Latest scan report, surfaced as context to the AI agent |
Quick Setup
Step 1 β Generate an API key
- Log in to your AccessAI dashboard
- Go to Settings β API Keys
- Click "Generate New Key"
- Copy the key β it starts with
ak_live_...and is shown only once
Step 2 β Add to your IDE
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"accessai": {
"command": "npx",
"args": ["-y", "accessai-mcp"],
"env": {
"ACCESSAI_API_KEY": "ak_live_your_key_here"
}
}
}
}
Cline (VS Code β Cline MCP Settings)
{
"mcpServers": {
"accessai": {
"command": "npx",
"args": ["-y", "accessai-mcp"],
"env": {
"ACCESSAI_API_KEY": "ak_live_your_key_here"
}
}
}
}
Claude Code (~/.claude/claude_desktop_config.json)
{
"mcpServers": {
"accessai": {
"command": "npx",
"args": ["-y", "accessai-mcp"],
"env": {
"ACCESSAI_API_KEY": "ak_live_your_key_here"
}
}
}
}
Once connected, ask your agent things like:
"Scan https://example.com for accessibility issues"
"Scan this HTML component for WCAG problems"
"Which accessibility issues should I fix first?"
"Show me code examples for adding ARIA labels"
SDK Integration
accessai-mcp also works as a regular npm library with any AI SDK:
Direct API Client (TypeScript)
import { createAccessAIClient } from "accessai-mcp/client";
const client = createAccessAIClient({ apiKey: "ak_live_your_key_here" });
const result = await client.createScan("https://example.com");
console.log(`Score: ${result.scan.accessibility_score}/100`);
const history = await client.getScans();
const chat = await client.sendChatMessage(history[0].id, "How do I fix the contrast issues?");
Vercel AI SDK
import { experimental_createMCPClient } from "ai";
import { anthropic } from "@ai-sdk/anthropic";
import { generateText } from "ai";
const mcpClient = await experimental_createMCPClient({
transport: {
type: "stdio",
command: "npx",
args: ["-y", "accessai-mcp"],
env: { ACCESSAI_API_KEY: "ak_live_your_key_here" },
},
});
const { text } = await generateText({
model: anthropic("claude-sonnet-4-20250514"),
tools: await mcpClient.tools(),
prompt: "Scan https://example.com for accessibility issues and summarize the results",
});
OpenAI Agents SDK (Python)
from agents import Agent
from agents.mcp import MCPServerStdio
mcp = MCPServerStdio(
command="npx",
args=["-y", "accessai-mcp"],
env={"ACCESSAI_API_KEY": "ak_live_your_key_here"},
)
agent = Agent(
name="Accessibility Checker",
instructions="You help developers fix web accessibility issues.",
mcp_servers=[mcp],
)
Google ADK (Python)
from google.adk.tools.mcp_tool import MCPToolset, StdioServerParameters
tools, exit_stack = await MCPToolset.from_server(
connection_params=StdioServerParameters(
command="npx",
args=["-y", "accessai-mcp"],
env={"ACCESSAI_API_KEY": "ak_live_your_key_here"},
)
)
How it Works
Your IDE (Cursor / Cline / Claude Code / Windsurf)
β stdio (MCP protocol)
AccessAI MCP Server (runs locally via npx)
β HTTPS (authenticated with API key)
AccessAI Backend (Render)
β
AI Agent (Gemini 2.0 Flash) + Supabase (PostgreSQL)
See mcp-server/README.md for full documentation and build-from-source instructions.
Browser Extension
AccessAI also ships as a Chrome extension (extension/) for scanning websites directly from the browser toolbar.
Features
- One-click scanning β scan the current tab or enter a custom URL
- Sign in with your AccessAI account β leverage your existing credentials and scan history
- Inline report view β see accessibility issues, their WCAG references, severity levels, descriptions, and recommendations right in the popup
- Markdown formatting β descriptions and code suggestions render with proper bold, italic, inline
`code`, and```fenced code blocks``` - Link to full reports β open the website for deeper analysis, chat with the AI, and view your full scan history
Quick Start
cd extension
npm install
npm run build
# Then: chrome://extensions β Load unpacked β select dist/
See extension/README.md for full setup, environment variables, and how to configure CORS on the backend.
Project Structure
AccessAI/
βββ frontend/ # Next.js (feature-based architecture)
βββ backend/ # Express.js (modular architecture)
βββ extension/ # React + Vite + Chrome MV3 (browser extension)
βββ agent/ # Python FastAPI + Google ADK
βββ mcp-server/ # MCP server for IDE agents (Cursor, Cline, etc.)
βββ docker-compose.yml
βββ .env.example
βββ README.md
