MCP plugin for accessibility testing using Axe-core
Reason this release was yanked:
Changed architecture do not use version less than 0.1.5
Project description
mcp-axe
🧪 mcp-axe: Accessibility Testing Plugin using Axe-core
mcp-axe is an MCP-compatible plugin for automated accessibility scanning using Deque's axe-core. It supports
both Selenium and Playwright engines and provides a CLI and FastAPI interface for scanning URLs,
raw HTML content, and batches.
📦 Installation
PyPI
You could use mcp-axe from pypi package
https://pypi.org/project/mcp-axe/
CLI Usage
Scan a URL
mcp-axe scan-url https://broken-workshop.dequelabs.com --engine selenium --no-headless --save --output-json --output-html
Scan a local HTML file
mcp-axe scan-html path/to/your/file.html --browser chrome --no-headless --save --output-json --output-html
Batch scan multiple URLs:
mcp-axe batch-scan "https://broken-workshop.dequelabs.com,https://google.com" --engine selenium --browser chrome --headless --save --output-json
Summarize a saved report:
mcp-axe summarize report_selenium_chrome.json --output-json --save
API Usage
Clone this repo and install in editable mode:
#optional
#git clone https://github.com/yourname/mcp-axe.git
#cd mcp-axe
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
Run the FastAPI server For local development:
make run
#uvicorn mcp_axe.api:app --reload --app-dir src
Available Endpoints:
| Endpoint | Description |
|---|---|
POST /scan/url |
Scan a live URL |
POST /scan/html |
Scan raw HTML content |
POST /scan/batch |
Scan multiple URLs |
POST /scan/summarise |
Summarize violations |
Run CLI
curl -X POST http://localhost:9788/scan/url \
-H "Content-Type: application/json" \
-d '{
"url": "https://broken-workshop.dequelabs.com",
"engine": "selenium",
"browser": "chrome",
"headless": true
}'
curl -X POST http://localhost:9788/scan/html \
-H "Content-Type: application/json" \
-d '{
"html": "<!DOCTYPE html><html><body><h1>Test</h1><p>Hello World</p></body></html>",
"browser": "chrome",
"headless": true
}'
curl -X POST http://localhost:9788/scan/batch \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://broken-workshop.dequelabs.com",
"https://google.com"
],
"engine": "selenium",
"browser": "firefox",
"headless": true
}'
Run Test:
make test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_axe-0.1.4.tar.gz.
File metadata
- Download URL: mcp_axe-0.1.4.tar.gz
- Upload date:
- Size: 159.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e05baf137f3898c9ecea6d873ecd13195ad156ed655c0ad6b70f815717fbdac
|
|
| MD5 |
1809d620d675f529c6f1b3437b13c744
|
|
| BLAKE2b-256 |
24752b99b9de7eee24851d879c000347cf1a04ae79ce6e78681a3380b503830f
|
File details
Details for the file mcp_axe-0.1.4-py3-none-any.whl.
File metadata
- Download URL: mcp_axe-0.1.4-py3-none-any.whl
- Upload date:
- Size: 158.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e980a5d4c160203612f590a581e6cac5c37a13b3e0d3bc3577d1d36a5d6df2a9
|
|
| MD5 |
61bebdc1ac15f7eabf169e2b6c84a343
|
|
| BLAKE2b-256 |
c55e934d6f172d665338f280f464ea2d6f05ebff0a8e44cace552b521663da11
|