Browser Use
Lets AI do web tasks for you, such as filling forms, searching and extracting data, in the maker’s cloud browsers or on your computer.
Description from the maker (original English)
WCAG 2.1 AA accessibility scanner (Playwright + axe-core) with grounded, browser-verified fixes.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ALLCHEMY_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"aether-wcag-scanner": {
"command": "npx",
"args": [
"-y",
"@allchemylabs/aether-wcag-scanner"
],
"env": {
"ALLCHEMY_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add aether-wcag-scanner --env ALLCHEMY_API_KEY=your-value -- npx -y @allchemylabs/aether-wcag-scannerFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"aether-wcag-scanner": {
"command": "npx",
"args": [
"-y",
"@allchemylabs/aether-wcag-scanner"
],
"env": {
"ALLCHEMY_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"aether-wcag-scanner": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@allchemylabs/aether-wcag-scanner"
],
"env": {
"ALLCHEMY_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account allchemylabs, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ALLCHEMY_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.8) reached the registry 17 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Browser Use, Chrome DevTools MCP, MCP Server Browser
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Lets AI do web tasks for you, such as filling forms, searching and extracting data, in the maker’s cloud browsers or on your computer.
Lets AI use Chrome’s developer tools to inspect pages, find what makes them slow and spot errors. Made by the Chrome DevTools team.
MCP server for browser use access
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server for Claude Code, Cursor, Codex and other coding agents that finds WCAG 2.1 AA accessibility violations and returns ready-to-apply fixes — not just a list of problems.
It drives a real browser (Playwright + axe-core) across desktop, tablet, and mobile viewports, then pairs each violation with a concrete fix: corrected HTML, the relevant WCAG success criteria, and technique code examples.
It works free without a key. For higher quality, contextual fixes, get a beta key at [beta.allchemylabs.ai](https://beta.allchemylabs.ai/?src=github) (sign in with GitHub).
An AI coding agent working from markup alone has to infer what a page does. Aether runs the page in a real browser, measures it with axe-core, and grounds every suggested fix in the WCAG spec, so the agent is working from measurements rather than inference.
| Coding agent alone | Aether, offline | Aether, with API key | |
|---|---|---|---|
| How it looks at the page | Reads the HTML it is given | Renders the page in Chromium at desktop, tablet and mobile widths and runs axe-core | Same |
| What it can measure | Structure visible in the markup | What axe measures on the rendered page: contrast, accessible names, ARIA usage, focusable regions, landmarks | Same |
| Fix suggestions | From the model's general knowledge | Deterministic templates for the common rules | Templates first, then WCAG-corpus examples, then a model; every cited technique passes a grounding check |
| How fixes are checked | Not checked unless you set that up | axe re-run on the fixed element; reports what cleared and what regressed | Same |
| What each fix cites | Whatever the model recalls | The axe rule and its severity | The WCAG success criteria and techniques, with rejected candidates shown |
| Network | Depends on the agent | None; runs entirely on your machine | Fix requests go to the hosted engine; falls back to offline templates when it is unreachable |
/plugin marketplace add https://github.com/allchemylabs/claude-plugins.git
/plugin install aether-wcag-scanner@allchemylabs
Once the official Claude Code marketplace listing is live, you can also install it directly from there.
Installing with /plugin install inside Claude Code prompts for your Allchemy Labs API key; paste the key you got from beta.allchemylabs.ai. Installing from the terminal (claude plugin install …), or letting Claude run the install for you, does not prompt, so set the key afterwards with the command below. Run the same command to change the key later:
/plugin configure aether-wcag-scanner@allchemylabs
The first start installs the plugin's dependencies (about a minute) and the first scan downloads Chromium for Playwright. If /mcp shows the server as not connected right after install, wait a moment and run /reload-plugins.
The plugin asks for a key at install because the cloud fixes need one. The scanner itself runs locally and still works without a key (for example after a terminal install, or via npx): you get local template fixes for every violation. A beta key adds higher quality, contextual fixes from the hosted insights engine; get one at beta.allchemylabs.ai (sign in with GitHub). Set it via the prompt above, or put ALLCHEMY_API_KEY= in the .env of the project you are scanning.
The same server is published to npm and the MCP Registry as @allchemylabs/aether-wcag-scanner. Any MCP client that speaks stdio can run it:
{
"mcpServers": { "aether-wcag-scanner": { "command": "npx", "args": ["-y", "@allchemylabs/aether-wcag-scanner"], "env": { "ALLCHEMY_API_KEY": " " } } } }
The first scan downloads Playwright's Chromium once (about 500 MB on disk: the browser plus its headless shell). Without ALLCHEMY_API_KEY the scanner still runs fully offline and returns template fixes.
Claude Code gets the /wcag-scan skill, which drives the scan → review → fix → verify loop. Other agents only see the tool descriptions and the instructions the server sends at connect time, so for the same behaviour copy AGENTS.md into your project (Codex reads it natively; Cursor and Windsurf accept it as a rules file). Without it an agent may fetch the page HTML and guess instead of running the browser scan.
| Tool | What it does |
|---|---|
aether_scan_and_fix | Recommended. Scan a URL — or a single-page app across routes via the spa block — and return violations *with* fixes, each verified on the real browser, in one call. Set maxFixes: 0 for a fast scan-only pass. |
aether_get_fix | Get a fix for one specific violation (verified on the real browser). Omit html to instead get a rule-level explanation — WCAG success criteria and technique examples. |
aether_verify_fix | Deterministically verify a fix with real Playwright + axe — re-scan a URL or diff original vs fixed HTML. Reports whether the target cleared, any new regressions, and the net compliance delta. |
aether_check_html | Analyze an HTML snippet for issues — no live URL or browser needed. |
aether_submit_feedback | Rate a fix (useful / not useful) so the guidance engine keeps improving; your correction helps seed better fixes. |
Just ask Claude naturally, e.g. *"check localhost:3000 for accessibility issues and fix them"* — it will pick the right tool.
/wcag-scan skillRun /wcag-scan for a guided workflow: scan → review violations → apply fixes → re-scan to verify → summarize. The skill orchestrates the tools above and edits your files in place.
The plugin adds two hooks to Claude Code:
To turn the post-edit check off in every project, run /plugin configure aether-wcag-scanner@allchemylabs and set Post-edit accessibility check to false. To turn it off (or back on) for one project, add this to that project's .claude/settings.local.json:
{ "env": { "AETHER_POSTEDIT_HOOK": "0" } }
Use "1" to turn it back on for that project. Restart Claude Code after either change.
Pass a spa block to aether_scan_and_fix instead of url:
{ "spa": { "entryUrl": "http://localhost:4200", "framework": "angular", "maxRoutes": 10 } }
entryUrl — where the app boots. Routes are discovered by crawling client-side links unless you list them in routes: [{ "path": "/settings", "name": "Settings" }].framework — angular, react, vue, or omit to auto-detect.maxRoutes — cap on discovered routes.Navigation is client-side (the browser context and app state are kept between routes), and readiness is decided by a layered stability cascade — DOM quiet, framework hooks such as Angular testability, pending-request drain — never by Playwright's networkidle, which deadlocks on apps with long-polling or websockets. A config that sets networkIdle is rejected for that reason.
Aether is an accessibility analysis and guidance tool. Using the platform does not, by itself, make your website, application, or digital service conformant with WCAG, the ADA (including Title II), the European Accessibility Act, Section 508, EN 301 549, or any other accessibility law or standard.
Automated scans detect only a subset of accessibility barriers. A "zero issues" result means the scanner did not flag anything in its detection range — not that the property is legally compliant.
You remain responsible for:
Aether does not provide legal advice and does not replace an accessibility audit or a VPAT/ACR prepared by a qualified auditor.
MIT for the client (this plugin). The hosted insights engine and related Allchemy Labs services are proprietary — see LICENSE and NOTICE.