Skip to main content

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

PyPI version

🧪 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_axe-0.1.4.tar.gz (159.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_axe-0.1.4-py3-none-any.whl (158.8 kB view details)

Uploaded Python 3

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

Hashes for mcp_axe-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8e05baf137f3898c9ecea6d873ecd13195ad156ed655c0ad6b70f815717fbdac
MD5 1809d620d675f529c6f1b3437b13c744
BLAKE2b-256 24752b99b9de7eee24851d879c000347cf1a04ae79ce6e78681a3380b503830f

See more details on using hashes here.

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

Hashes for mcp_axe-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e980a5d4c160203612f590a581e6cac5c37a13b3e0d3bc3577d1d36a5d6df2a9
MD5 61bebdc1ac15f7eabf169e2b6c84a343
BLAKE2b-256 c55e934d6f172d665338f280f464ea2d6f05ebff0a8e44cace552b521663da11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page