RatedWithAI accessibility checker
Server Details
Scan a live web page for WCAG 2.1/2.2 AA issues with axe-core: score, grade, failing rules.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools are cleanly split along an explain-vs-scan axis, and each description explicitly states when NOT to use it (explain tool refuses to scan; scan tool refuses login/localhost/pasted HTML). An agent cannot plausibly confuse them.
Both names follow a consistent verb_noun snake_case pattern (explain_accessibility_issue, scan_accessibility). The noun phrase differs in granularity but the verb-first convention is uniform.
Two tools is on the thin side for a server whose domain (accessibility checking) naturally includes rule listing, HTML-snippet scanning, or remediation planning. It is defensible as a minimal surface, but feels under-built rather than well-scoped.
Core loop of scan -> understand failure is covered, but there are notable gaps: no way to check pasted HTML, localhost, or authenticated pages (explicitly dead ends), and no tool to list supported rules or summarize a full remediation plan.
Available Tools
2 toolsexplain_accessibility_issueExplain how to fix an accessibility ruleARead-onlyIdempotentInspect
Use this when the user asks what an axe-core accessibility rule means or how to fix it — such as color-contrast, image-alt, label or link-name. Returns plain-English steps and a code example. Do not use it when the user wants a site checked; it explains a rule and does not scan pages.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | axe-core rule id, e.g. color-contrast |
Output Schema
| Name | Required | Description |
|---|---|---|
| known | Yes | |
| steps | Yes | |
| ruleId | Yes | |
| summary | Yes | |
| codeExample | No | |
| referenceUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the meaningful behavioral fact that the response is explanatory guidance with a code example rather than a scan result, which is what an agent needs to pick correctly. Remaining gaps (e.g. behavior for unknown rule ids) are minor given the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the positive usage case front-loaded and the exclusion immediately after. Every clause earns its place by either selecting or de-selecting the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Single required parameter, full schema coverage, and an output schema that carries the return shape. The description supplies the one thing structured fields can't: when this tool applies versus the scanning sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents rule_id with the color-contrast example, so the description mostly echoes it. The extra sample values (image-alt, label, link-name) reinforce that the parameter is a rule id rather than a display name, but add little beyond baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (explains) and resource (an axe-core accessibility rule) plus what the answer contains ('plain-English steps and a code example'). The contrast with scan_accessibility is made explicit, so an agent can distinguish the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives both directions: use when the user asks what a rule means or how to fix it, and do not use when the user wants a site checked. Names the sibling behavior ('it explains a rule and does not scan pages') that routes the agent to scan_accessibility instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_accessibilityScan a website for accessibility issuesARead-onlyIdempotentInspect
Use this when the user wants a public website or web page checked for accessibility (WCAG 2.1/2.2 AA, ADA, EAA, Section 508): it loads the live page in a real browser, runs axe-core on it and up to two more same-site pages, and returns a 0-100 score, a letter grade and the failing rules with example elements. Takes 15-40 seconds. Do not use it for pages that need a login, for localhost or private-network addresses, or for pasted HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public website address, e.g. example.com or https://example.com/about |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | The URL that was scanned, after normalisation. |
| grade | Yes | |
| score | Yes | 0-100, weighted by violation severity. |
| scannedAt | Yes | |
| violations | Yes | |
| moreInfoUrl | Yes | Informational page on scheduled re-scans and fix help for this kind of result. |
| pagesScanned | Yes | |
| rulesOmitted | Yes | Failing rules not listed because the response is capped. |
| failingRuleCount | Yes | |
| needsReviewCount | Yes | Checks axe could not decide automatically; a human must confirm them. |
| affectedElementCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/openWorld/idempotent/non-destructive), it discloses mechanics and cost the agent cannot infer: it loads the live page in a real browser, runs axe-core, crawls up to two additional same-site pages, and takes 15-40 seconds. The extra-page crawl and the runtime are exactly the behavioral facts an agent needs for planning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage condition, followed by behavior, runtime, and exclusions in a single tight paragraph. Every sentence carries distinct information; no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description still summarizes the return shape (0-100 score, letter grade, failing rules with example elements) and states runtime and crawl limits. For a one-parameter, open-world scanning tool, an agent has everything needed to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single url parameter, so the schema already documents format and examples. The description adds the meaningful constraint that the URL must be public (no login, no localhost/private network), but otherwise restates rather than extends the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (scan a public website/web page for accessibility) and pins the scope to concrete standards (WCAG 2.1/2.2 AA, ADA, EAA, Section 508). It is functionally unmistakable next to the only sibling, explain_accessibility_issue, since one performs a scan and the other explains a finding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger (user wants a public site checked for accessibility) and explicit exclusions: login-gated pages, localhost/private-network addresses, and pasted HTML. The when-not conditions are the ones an agent would otherwise get wrong, so nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
explain_accessibility_issue - First observed
scan_accessibility
Related MCP Connectors
Scan URLs or HTML for WCAG 2.2 violations. 75-rule manifest, weighted score, shareable reports.
Scan a web page for accessibility, security, privacy, quality and SEO issues, with fixes.
Deterministic axe-core accessibility scans (WCAG 2.1 AA, EN 301 549, PDF/UA) via your account.
Automated accessibility check (axe-core, Lighthouse) of one public web page; fetch saved results.
Related MCP Servers
- AlicenseBqualityDmaintenanceAudits web pages for WCAG 2.2 AA accessibility aligned with the GOV.UK standard using axe-core and headless Chromium, returning structured JSON, markdown reports, and GDS compliance summaries.41MIT
- AlicenseAqualityBmaintenanceScans live web pages and single-page apps across multiple viewports to detect WCAG 2.1 AA accessibility violations and returns concrete, browser-verified fixes grounded in WCAG success criteria and techniques.550 npm1MIT
- AlicenseAqualityCmaintenanceEnables web accessibility audits using axe-core, allowing users to scan URLs, check WCAG compliance levels, and export reports. It uses an anti-detect browser to bypass Cloudflare and other bot protection.732 PyPIMIT

a11yscopeofficial
FlicenseNot gradedqualityBmaintenanceWCAG 2.2 AA accessibility checks for a URL or for HTML the agent just wrote, run locally in headless Chrome. 31 checks with CSS selectors, snippets and fix guidance; the same engine as the A11yScope Chrome extension.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.