Accessibility Agents
NPM · @COMMUNITY-ACCESS/ACCESSIBILITY-AGENTS-MCP
WCAG 2.2 scanners for web pages, Office, PDF, ePub and Markdown: contrast, axe, veraPDF and more.
Available components
Last scanned (9 hours ago)
Scores higher than 91% of npm servers
Category Testing and QA
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Community-Access/accessibility-agents). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 7 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3476 tokens (~65/item across 53 items; 39 tools + 14 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 83
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/@community-access/accessibility-agents-mcp@7.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Community-Access/accessibility-agents |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Community-Access/accessibility-agents/.github/workflows/release-assets.yml@refs/heads/main |
| Rekor log index | 3543795909 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:0fb19422ffacea57b84283f8a35694f5ec9bca7490902b131357f0ddad57fe25b582cd78e4dab6ec2beb2de3f6325ec928d198c9b2d1e1b744c9b87ac |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
batch_scan_documents Batch Scan Documents ~50
Scan multiple Office and PDF documents for accessibility issues in a single call. Returns a summary with per-file results.
| Name | Type | Req | Description |
|---|---|---|---|
| filePaths | array | yes | Array of absolute file paths to scan (max 50) |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
check_apca_contrast Check APCA Contrast (Experimental) ~93
Calculate APCA lightness contrast between two colours, an experimental perceptual method that no WCAG standard, and not the current WCAG 3.0 draft, includes.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | yes | Background color as hex (e.g. "#ffffff" or "#000") |
| foreground | string | yes | Text color as hex (e.g. "#1a1a1a" or "#fff") |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | A short explanation of the result. |
| level | string | – | The conformance level this result is judged against. |
| passes | boolean | yes | Whether the measurement meets the threshold. |
| threshold | number | – | The value required to pass. |
| unit | string | – | What the value is measured in. |
| value | number | – | The measured value. |
No examples provided.
check_audit_cache Check Audit Cache ~123
Check whether a cached audit result exists and is still fresh for this target.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheFile | string | – | Path to cache file (default: .a11y-cache.json in project root) |
| filePaths | array | yes | Array of file paths to check against the cache |
| maxAgeDays | number | – | Treat entries older than this many days as expired and needing re-scan. Default: no expiry |
| useContentHash | boolean | – | Use SHA-256 content hash instead of size+mtime (more reliable but slower). Default: false |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
check_color_blindness Check Color Blindness ~81
Simulate how a color pair looks under different types of color vision deficiency (protanopia, deuteranopia, tritanopia, achromatopsia). Returns simulated colors and whether distinction is maintained.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | array | yes | Array of hex colors to compare (e.g. ['#FF0000', '#00FF00']) |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | A short explanation of the result. |
| level | string | – | The conformance level this result is judged against. |
| passes | boolean | yes | Whether the measurement meets the threshold. |
| threshold | number | – | The value required to pass. |
| unit | string | – | What the value is measured in. |
| value | number | – | The measured value. |
No examples provided.
check_contrast Check Contrast Ratio ~99
Calculate WCAG contrast ratio between two colors. Returns the ratio and whether it passes AA for normal text (4.5:1), large text (3:1), and UI components (3:1).
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | yes | Background color as hex (e.g. "#ffffff" or "#000") |
| foreground | string | yes | Foreground color as hex (e.g. "#1a1a1a" or "#fff") |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | A short explanation of the result. |
| level | string | – | The conformance level this result is judged against. |
| passes | boolean | yes | Whether the measurement meets the threshold. |
| threshold | number | – | The value required to pass. |
| unit | string | – | What the value is measured in. |
| value | number | – | The measured value. |
No examples provided.
check_form_labels Check Form Labels ~43
Analyze HTML form inputs for missing accessible labels. Checks <label for>, aria-label, aria-labelledby, and title.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | HTML content to analyze |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
check_heading_structure Check Heading Structure ~40
Analyze HTML content for heading hierarchy issues: skipped levels, multiple H1s, missing H1.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | HTML content to analyze |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
check_link_text Check Link Text ~42
Analyze HTML for ambiguous or missing link text. Checks for 'click here', 'read more', empty links.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | HTML content to analyze |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
check_reading_level Check Reading Level ~37
Estimate the reading level of a passage and report whether it meets the requested grade.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | Text content to analyze |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | A short explanation of the result. |
| level | string | – | The conformance level this result is judged against. |
| passes | boolean | yes | Whether the measurement meets the threshold. |
| threshold | number | – | The value required to pass. |
| unit | string | – | What the value is measured in. |
| value | number | – | The measured value. |
No examples provided.
check_verapdf_installation Check veraPDF Installation ~41
Health check for veraPDF CLI. Auto-detects installation, reports version, checks Java dependency, and provides platform-specific installation guidance if missing.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
convert_pdf_form_to_html Convert PDF Form to Accessible HTML ~51
Extract form fields from a PDF and generate an accessible HTML representation. Useful for reviewing PDF form accessibility or migrating paper forms to web.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the PDF file |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
extract_document_metadata Extract Document Metadata ~64
Extract accessibility-relevant metadata from an Office document or PDF. Returns title, author, language, page count, and accessibility property health.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the document file (.docx, .xlsx, .pptx, or .pdf) |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
fix_document_headings Fix Document Headings ~58
Analyze and report heading structure issues in Office documents with fix instructions. Detects skipped levels, missing Heading 1, visual-only formatting, and provides remediation steps.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the document (.docx) |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
fix_document_metadata Fix Document Metadata ~103
Fix common metadata accessibility issues in Office documents: missing title, missing language, missing author. Returns a report of changes made.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | Document author to set |
| filePath | string | yes | Absolute path to the document (.docx, .xlsx, .pptx) |
| language | string | – | Document language to set (BCP 47 tag, e.g. "en-US") |
| title | string | – | Document title to set |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
generate_accessibility_statement Generate Accessibility Statement ~194
Generate a W3C or EU model accessibility statement from provided information. Outputs a Markdown document ready for publishing.
| Name | Type | Req | Description |
|---|---|---|---|
| assessmentDate | string | – | Date of last assessment (ISO format) |
| assessmentMethod | string | – | How the assessment was conducted |
| compatibleWith | array | – | Browsers and assistive technologies tested |
| conformanceLevel | string | – | Target WCAG level (default: AA) |
| conformanceStatus | string | yes | Overall conformance status |
| contactEmail | string | yes | Accessibility feedback contact email |
| format | string | – | Statement format: w3c (default) or eu |
| knownLimitations | array | – | Known accessibility limitations |
| organization | string | yes | Organization name |
| technologies | array | – | Technologies relied upon (e.g. HTML5, CSS3, WAI-ARIA) |
| websiteUrl | string | yes | Website URL covered by the statement |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
get_accessibility_guidelines Get Accessibility Guidelines ~49
Get detailed WCAG AA accessibility guidelines for a specific component type. Returns requirements, code examples, and common mistakes.
| Name | Type | Req | Description |
|---|---|---|---|
| component | string | yes | The type of component to get guidelines for |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
get_audit_result Get Audit Result ~51
Retrieve a specific stored audit result by its ID. Returns the full audit record including all findings.
| Name | Type | Req | Description |
|---|---|---|---|
| auditId | string | yes | Audit ID (filename without .json extension, from list_audit_history) |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
get_audit_trend Get Audit Score Trend ~68
Return the score history for one target, with direction, delta and finding velocity, so a trend can be reported.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max historical scans to include (default: 20) |
| target | string | yes | Target to compute trend for (URL or file path) |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | The records returned. |
| total | number | – | How many records exist, when more than were returned. |
No examples provided.
glow_audit_document GLOW Audit Document ~76
Upload a document to GLOW and run accessibility audit (/audit). Supports markdown, html, and docx.
| Name | Type | Req | Description |
|---|---|---|---|
| baseUrl | string | – | Optional GLOW API base URL |
| filePath | string | yes | Absolute path to local file |
| format | string | yes | Document format |
| timeoutMs | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
glow_convert_document GLOW Convert Document ~85
Upload a document to GLOW and convert format (/convert). Supports markdown, html, and docx.
| Name | Type | Req | Description |
|---|---|---|---|
| baseUrl | string | – | Optional GLOW API base URL |
| filePath | string | yes | Absolute path to local file |
| fromFormat | string | yes | Source format |
| timeoutMs | integer | – | – |
| toFormat | string | yes | Target format |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
glow_fix_document GLOW Fix Document ~77
Upload a document to GLOW and run auto-fix workflow (/fix). Supports markdown, html, and docx.
| Name | Type | Req | Description |
|---|---|---|---|
| baseUrl | string | – | Optional GLOW API base URL |
| filePath | string | yes | Absolute path to local file |
| format | string | yes | Document format |
| timeoutMs | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
glow_generate_report GLOW Generate Report ~89
Upload a document to GLOW and generate report output (/report). Supports markdown, html, and docx.
| Name | Type | Req | Description |
|---|---|---|---|
| baseUrl | string | – | Optional GLOW API base URL |
| filePath | string | yes | Absolute path to local file |
| format | string | yes | Document format |
| reportType | string | – | Report type (default: json) |
| timeoutMs | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
glow_health_check GLOW Health Check ~54
Check health of a GLOW API endpoint (defaults to `https://letitglow.app/mcp`).
| Name | Type | Req | Description |
|---|---|---|---|
| baseUrl | string | – | Optional GLOW API base URL |
| timeoutMs | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
list_audit_history List Audit History ~88
List stored accessibility audit results from .a11y-history/. Filter by scan type, target, or date range. Returns summaries with scores and finding counts.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results to return (default: 20, newest first) |
| target | string | – | Filter by target (exact match on path/URL) |
| type | string | – | Filter by scan type |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | The records returned. |
| total | number | – | How many records exist, when more than were returned. |
No examples provided.
prune_audit_history Prune Audit History ~52
Remove old audit results beyond the retention limit for each target. Keeps the newest N audits per target and deletes the rest.
| Name | Type | Req | Description |
|---|---|---|---|
| retention | number | – | Max audits to keep per target (default: 30) |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
render_accessibility_report Render an accessibility report ~106
Render a complete audit report from findings JSON. Produces every required section, computes the score and grade, and embeds the merged findings so the next run can show a delta.
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | Findings payloads, each matching skills/a11y-core/schemas/findings.schema.json. |
| outputPath | string | – | Where to write the report. Defaults to the template's standard filename in the working directory. |
| template | string | – | Which report shape to render. |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What the file contains. |
| format | string | – | The format written. |
| path | string | yes | The file written. |
No examples provided.
run_axe_scan Run axe-core Accessibility Scan ~125
Run an axe-core scan against a URL or HTML file and return the violations as findings.
| Name | Type | Req | Description |
|---|---|---|---|
| exclude | array | – | CSS selectors to exclude from scan |
| include | array | – | CSS selectors to include in scan |
| tags | array | – | axe-core tags to filter by (default: ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa", "wcag22aa"], every WCAG 2.2 A and AA rule) |
| url | string | yes | URL to scan (http or https) |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
run_playwright_a11y_tree Get Accessibility Tree ~55
Capture the accessibility tree of a page via Playwright. Shows how screen readers perceive the page structure.
| Name | Type | Req | Description |
|---|---|---|---|
| root | string | – | CSS selector for subtree root |
| url | string | yes | URL to analyze |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
run_playwright_contrast_scan Visual Contrast Scan ~40
Scan a page for text elements that fail WCAG AA contrast requirements by sampling computed styles.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to scan |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
run_playwright_keyboard_scan Keyboard Navigation Scan ~62
Test keyboard navigation by tabbing through all interactive elements on a page. Reports focus order, focus visibility, and keyboard traps.
| Name | Type | Req | Description |
|---|---|---|---|
| maxTabs | number | – | Maximum Tab presses (default: 50) |
| url | string | yes | URL to test |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
run_playwright_viewport_scan Viewport Reflow Test ~68
Load the page at 320, 768, 1024 and 1280 CSS pixels wide and report horizontal scrolling, a WCAG 1.4.10 Reflow check that does not test zoom or text resize.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to test |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
run_verapdf_scan Run veraPDF PDF/UA Scan ~94
Validate a PDF against PDF/UA with veraPDF and return the failed checks as findings.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the PDF file |
| flavour | string | – | veraPDF validation flavour (default: "ua1" for PDF/UA-1) |
| sarifPath | string | – | Optional path to write SARIF 2.1.0 output for CI/code scanning integration |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
save_audit_result Save Audit Result ~181
Save a scan result to the audit history so later runs can show a delta and compliance evidence stays in the repository.
| Name | Type | Req | Description |
|---|---|---|---|
| errorCount | number | – | Number of error-severity findings |
| findingCount | number | yes | Total number of findings |
| findings | array | – | Array of individual findings (optional, for detailed storage) |
| grade | string | – | Letter grade (A-F) |
| retention | number | – | Max audits to keep per target (default: 30) |
| score | number | – | Overall accessibility score (0-100) |
| target | string | yes | Target that was scanned (URL, file path, or folder path) |
| toolVersion | string | – | Version of the scanning tool |
| type | string | yes | Type of scan that produced these results |
| warningCount | number | – | Number of warning-severity findings |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
scan_epub_document Scan EPUB Document ~86
Scan an .epub for EPUB Accessibility 1.1 conformance, reading order, navigation and metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the .epub file |
| reportPath | string | – | Optional path to write a markdown accessibility report |
| sarifPath | string | – | Optional path to write SARIF 2.1.0 output |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
scan_markdown_document Scan Markdown Document ~61
Scan a markdown file for link text, alt text, heading order, table and emoji accessibility issues.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the .md file |
| reportPath | string | – | Optional path to write a markdown accessibility report |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
scan_office_document Scan Office Document for Accessibility ~58
Scan a .docx, .xlsx, or .pptx file for accessibility issues. Checks title, language, alt text, headings, table headers, and more.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the Office document |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
scan_pdf_document Scan PDF Document for Accessibility ~91
Scan a PDF file for accessibility issues using PDF/UA checks. Checks tagging, structure, language, alt text, bookmarks, forms, and more.
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the PDF file |
| reportPath | string | – | File path to write a markdown accessibility report |
| sarifPath | string | – | File path to write SARIF 2.1.0 output |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
update_audit_cache Update Audit Cache ~111
Update the component audit cache (.a11y-cache.json) after scanning files. Stores file hashes, finding counts, severity breakdown, and scan timestamp so unchanged files can be skipped on re-audit.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheFile | string | – | Path to cache file (default: .a11y-cache.json in project root) |
| entries | array | yes | Array of scan results to cache |
| useContentHash | boolean | – | Use SHA-256 content hash instead of size+mtime. Default: false |
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | What happened, in one sentence. |
| ok | boolean | yes | Whether the operation succeeded. |
| path | string | – | A file this call wrote or read, when there is one. |
| version | string | – | Version of an external tool, when relevant. |
No examples provided.
validate_caption_file Validate Caption File ~78
Validate a WebVTT or SRT caption file for syntax errors, timing overlaps, excessive caption rate, and missing speaker identification. Helps ensure media accessibility compliance (WCAG 1.2.2, 1.2.4).
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | yes | Absolute path to the .vtt or .srt caption file |
| Name | Type | Req | Description |
|---|---|---|---|
| findings | array | yes | One entry per defect found. |
| notes | array | – | Anything a person must decide, and anything that could not be checked. |
| passed | array | – | Checks that ran and found nothing, so 'clean' is distinguishable from 'not checked'. |
| scope | array | yes | Files, URLs or components examined. |
No examples provided.
How do I install the Accessibility Agents MCP server?
Accessibility Agents runs locally as an npm package, launched with npx -y @community-access/accessibility-agents-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @community-access/accessibility-agents-mcp
claude mcp add community-access-accessibility-agents -- npx -y @community-access/accessibility-agents-mcp
What is the Accessibility Agents MCP server?
Accessibility Agents is an MCP server listed in the public MCP registry as io.github.Community-Access/accessibility-agents. WCAG 2.2 scanners for web pages, Office, PDF, ePub and Markdown: contrast, axe, veraPDF and more. This page covers its npm package (@community-access/accessibility-agents-mcp).
Is the Accessibility Agents MCP server safe to use?
Accessibility Agents scores 87 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Accessibility Agents MCP server expose?
Accessibility Agents exposes 39 tools: check_contrast, check_apca_contrast, get_accessibility_guidelines, check_heading_structure, check_link_text, and 34 more. Their descriptions and schemas cost roughly 3,024 tokens of context every time the server is loaded.
Is the Accessibility Agents MCP server still maintained?
Accessibility Agents is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Accessibility Agents MCP server under?
Accessibility Agents declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.