EuroA11y

com.euroa11yPublished by euroa11y.comOfficial publisherv0.2.0Updated Oct 30, 2026

Accessibility audit of a web page (WCAG 2.2 AA, RGAA) and European Accessibility Act scope check

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingDeveloper Tools

Overview

AI-generated overview

Free remote MCP server that scans one public web page for WCAG 2.2 AA (and RGAA) accessibility failures and checks whether the European Accessibility Act…

What you can do
  • Scan a public page in a headless browser and get axe-core WCAG 2.2 AA failures grouped by success criterion, with failing elements and fixes
  • Choose desktop or mobile viewport, add RGAA 4.1.2 criteria or best practices, and cap the number of examples per issue
  • Check whether the European Accessibility Act (Directive (EU) 2019/882) covers a given service, headcount and turnover, including the microenterprise exemption
  • Get a scope verdict with reasons and legal sources
When to use it
Useful when someone wants a quick automated accessibility check of a page (home page, product page, cart, form) or wants to know whether the EAA applies to their business. It complements, but does not replace, a manual audit.
Requirements
Remote Streamable HTTP endpoint; no account, authentication, API key or environment variable. The page to scan must be public, without login, form submission or iframes. Fair-use limits apply per ChatGPT account or network address: one scan at a time, 40 a day.
Before you install
Automated scans find only part of accessibility issues; a clean result is not proof of compliance or a valid basis for an accessibility statement. The page address of a scan is kept encrypted for up to 24 hours to answer repeat requests. Pages behind bot protection may refuse the scan. The EAA check is information, not legal advice, and the publisher is independent of the EU.

Installation

In SourceWeft

  1. Open EuroA11y in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.euroa11y%2Feuroa11y/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "euroa11y": {
      "type": "http",
      "url": "https://euroa11y.com/mcp"
    }
  }
}

README

EuroA11y

EuroA11y is a free remote MCP server for ChatGPT, Claude and other MCP clients. It has two read-only tools: an automated accessibility scan of one public web page (WCAG 2.2 level AA, with axe-core) and a check of whether the European Accessibility Act (EAA) applies to a business. No account, no authentication.

  • Connector URL (Streamable HTTP, no authentication): https://euroa11y.com/mcp
  • Website and setup steps for Claude and ChatGPT: euroa11y.com, documentation
  • Published by Antoine Olivier (France). Independent, not affiliated with the European Union or any EU institution.

Tools

  • scan_page loads one public page in a headless Chromium browser, runs axe-core against WCAG 2.2 level AA and returns the failures grouped by WCAG success criterion, most severe first, with the failing elements and how to fix them. Parameters: url (required), viewport (desktop or mobile), include_rgaa (adds the related criteria of RGAA 4.1.2, the French framework), include_best_practices, max_examples (1 to 5), fresh (scan again instead of reusing a recent result). A scan usually takes 5 to 30 seconds.
  • check_eaa_scope applies the scope rules of Directive (EU) 2019/882, applicable since 28 June 2025, to the service, headcount and turnover given, including the exemption for microenterprises. It returns a verdict (in_scope, terminals_only, exempt_microenterprise, out_of_scope, public_sector_other_law or need_more_info) with its reasons and legal sources. No network access, nothing stored. Information, not legal advice.

Example prompts:

  • Check the accessibility of https://www.gov.uk on mobile
  • Which RGAA criteria does my home page fail? https://example.fr
  • I run an online shop with 6 employees. Does the EAA apply to me?

Limits

  • Automated tools detect only part of accessibility issues. A scan with no failure does not mean the page is accessible or compliant; a conformance claim or an accessibility statement needs a manual audit.
  • One public page per call, main document only (no iframe), no login, no form submission. Pages behind bot protection may refuse the scan.
  • Fair-use limits keep the hosted service free: for each ChatGPT account or network address, one scan at a time and 40 a day.
  • The raw result of a scan, which includes the page address, is kept up to 24 hours, encrypted, to answer the same request again. Logs hold no page address and no argument. Details: privacy policy.

Development

Requires Node.js (see engines in package.json).

bash
npm cinpm run checknode src/cli.ts https://www.gov.uk --rgaa
  • npm run check runs the type checks and the tests. git config core.hooksPath .githooks runs it before each commit.
  • npm run mcp:http starts the MCP server over HTTP on this machine, with Node.
  • The hosted service is a Cloudflare Worker (src/worker/, wrangler.jsonc) that scans in Cloudflare Browser Run, which needs the Workers Paid plan. To deploy your own copy, change the route in wrangler.jsonc to your domain. node scripts/smoke.mjs <base URL> checks the Worker's routes without running a scan.

Safeguards in the code: private, local and reserved addresses are refused for the page and each redirect, the scan is bounded in time and requests, the daily browser time has a global budget, and only rules from the bundled axe-core catalogue are kept in a report, since the scanned page can tamper with axe's results.

Data and credits

  • axe-core by Deque Systems (MPL-2.0) runs the WCAG checks.
  • data/rgaa-4.1.2-wcag.json maps RGAA 4.1.2 criteria to WCAG references, from the source repository of accessibilite.numerique.gouv.fr (RGAA/criteres.json and the criteria annexes). RGAA 4.1.2 follows WCAG 2.1: criteria new in WCAG 2.2 have no RGAA equivalent.
  • Fonts: Atkinson Hyperlegible Next and Mono (SIL Open Font License, files in assets/fonts/).

License

MIT, see LICENSE. Contact: [email protected]

Source: README.md at commit 48cada9

Tools

2

scan_page

Scan a page for accessibility issues

Use this when a user asks to audit, check or test the accessibility of a website or web page (WCAG, a11y, RGAA, ADA or European Accessibility Act checks), for example their home page, a product page, the cart or a form. Prefer it to reading the page source: it tests the rendered page. Loads one public web page in a real browser and runs axe-core against WCAG 2.2 level AA. Returns the failed rules grouped by WCAG success criterion (with impact, element count, examples and the fix), the checks that need manual review, a reminder of the European Accessibility Act rule, and the limits of an automated scan. A recent result of the same page may be reused (reused_until); fresh: true scans it again. Takes 5 to 30 seconds. One page per call: call it again for each other page.

Parametersurlrequiredfreshviewportinclude_rgaamax_examplesinclude_best_practices

check_eaa_scope

Check whether the European Accessibility Act applies

Use this when a user asks whether the European Accessibility Act (EAA, Directive (EU) 2019/882, « acte européen sur l'accessibilité ») applies to their business or website, for example an online shop, a bank or a transport operator. It applies since 28 June 2025. Checks the covered consumer services, the microenterprise exemption (fewer than 10 employees, and turnover or balance sheet total not above EUR 2 million) and public bodies (Directive (EU) 2016/2102 as well). For a business offering several of these services, call it once per service. Ask the user for missing figures rather than guessing them. Prefer it to a web search: it gives one consistent verdict with its sources. Informational, not legal advice.

Parameterssectorrequiredemployeespublic_bodybalance_sheet_eurannual_turnover_eursells_to_eu_consumersrequired

Version history

1
  1. v0.2.0LatestOct 22, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts