# 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.

- Trust score: 87/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `@community-access/accessibility-agents-mcp`: 87/100 (this document), [markdown](https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp.md), [page](https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp)

## Channel facts

- Registry: `npm`
- Package: `@community-access/accessibility-agents-mcp`
- Version: `7.1.0`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Community-Access/accessibility-agents).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 7 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 3476 tokens (~65/item across 53 items; 39 tools + 14 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### 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.

### Claude

```bash
claude mcp add community-access-accessibility-agents -- npx -y @community-access/accessibility-agents-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "community-access-accessibility-agents": {
      "command": "npx",
      "args": [
        "-y",
        "@community-access/accessibility-agents-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "community-access-accessibility-agents": {
      "command": "npx",
      "args": [
        "-y",
        "@community-access/accessibility-agents-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add community-access-accessibility-agents -- npx -y @community-access/accessibility-agents-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "community-access-accessibility-agents": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@community-access/accessibility-agents-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add community-access-accessibility-agents --command npx --arg -y --arg @community-access/accessibility-agents-mcp
```

### Hermes

```yaml
mcp_servers:
  community-access-accessibility-agents:
    command: "npx"
    args: ["-y", "@community-access/accessibility-agents-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "community-access-accessibility-agents": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@community-access/accessibility-agents-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add community-access-accessibility-agents -t stdio -c npx -a -y @community-access/accessibility-agents-mcp
```

### Other

```json
{
  "mcpServers": {
    "community-access-accessibility-agents": {
      "command": "npx",
      "args": [
        "-y",
        "@community-access/accessibility-agents-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 87, +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.

### 2026-11-03 (score 86, +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.

### 2026-11-01 (score 85, +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.

### 2026-10-30 (score 84, +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.

### 2026-10-28 (score 83)

First indexed and scored.

## MCP tools (39)

### `check_contrast` (~99 tokens)

Check Contrast Ratio

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).

Input parameters:

- `background` (string, required): Background color as hex (e.g. "#ffffff" or "#000")
- `foreground` (string, required): Foreground color as hex (e.g. "#1a1a1a" or "#fff")

Output parameters:

- `detail` (string): A short explanation of the result.
- `level` (string): The conformance level this result is judged against.
- `passes` (boolean): 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.

### `check_apca_contrast` (~93 tokens)

Check APCA Contrast (Experimental)

Calculate APCA lightness contrast between two colours, an experimental perceptual method that no WCAG standard, and not the current WCAG 3.0 draft, includes.

Input parameters:

- `background` (string, required): Background color as hex (e.g. "#ffffff" or "#000")
- `foreground` (string, required): Text color as hex (e.g. "#1a1a1a" or "#fff")

Output parameters:

- `detail` (string): A short explanation of the result.
- `level` (string): The conformance level this result is judged against.
- `passes` (boolean): 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.

### `get_accessibility_guidelines` (~49 tokens)

Get Accessibility Guidelines

Get detailed WCAG AA accessibility guidelines for a specific component type. Returns requirements, code examples, and common mistakes.

Input parameters:

- `component` (string, required): The type of component to get guidelines for

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `check_heading_structure` (~40 tokens)

Check Heading Structure

Analyze HTML content for heading hierarchy issues: skipped levels, multiple H1s, missing H1.

Input parameters:

- `html` (string, required): HTML content to analyze

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `check_link_text` (~42 tokens)

Check Link Text

Analyze HTML for ambiguous or missing link text. Checks for 'click here', 'read more', empty links.

Input parameters:

- `html` (string, required): HTML content to analyze

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `check_form_labels` (~43 tokens)

Check Form Labels

Analyze HTML form inputs for missing accessible labels. Checks <label for>, aria-label, aria-labelledby, and title.

Input parameters:

- `html` (string, required): HTML content to analyze

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `scan_office_document` (~58 tokens)

Scan Office Document for Accessibility

Scan a .docx, .xlsx, or .pptx file for accessibility issues. Checks title, language, alt text, headings, table headers, and more.

Input parameters:

- `filePath` (string, required): Absolute path to the Office document

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `scan_pdf_document` (~91 tokens)

Scan PDF Document for Accessibility

Scan a PDF file for accessibility issues using PDF/UA checks. Checks tagging, structure, language, alt text, bookmarks, forms, and more.

Input parameters:

- `filePath` (string, required): 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

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `extract_document_metadata` (~64 tokens)

Extract Document Metadata

Extract accessibility-relevant metadata from an Office document or PDF. Returns title, author, language, page count, and accessibility property health.

Input parameters:

- `filePath` (string, required): Absolute path to the document file (.docx, .xlsx, .pptx, or .pdf)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `batch_scan_documents` (~50 tokens)

Batch Scan Documents

Scan multiple Office and PDF documents for accessibility issues in a single call. Returns a summary with per-file results.

Input parameters:

- `filePaths` (array, required): Array of absolute file paths to scan (max 50)

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_axe_scan` (~125 tokens)

Run axe-core Accessibility Scan

Run an axe-core scan against a URL or HTML file and return the violations as findings.

Input parameters:

- `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, required): URL to scan (http or https)

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_playwright_a11y_tree` (~55 tokens)

Get Accessibility Tree

Capture the accessibility tree of a page via Playwright. Shows how screen readers perceive the page structure.

Input parameters:

- `root` (string): CSS selector for subtree root
- `url` (string, required): URL to analyze

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_playwright_keyboard_scan` (~62 tokens)

Keyboard Navigation Scan

Test keyboard navigation by tabbing through all interactive elements on a page. Reports focus order, focus visibility, and keyboard traps.

Input parameters:

- `maxTabs` (number): Maximum Tab presses (default: 50)
- `url` (string, required): URL to test

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_playwright_contrast_scan` (~40 tokens)

Visual Contrast Scan

Scan a page for text elements that fail WCAG AA contrast requirements by sampling computed styles.

Input parameters:

- `url` (string, required): URL to scan

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_playwright_viewport_scan` (~68 tokens)

Viewport Reflow Test

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.

Input parameters:

- `url` (string, required): URL to test

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `run_verapdf_scan` (~94 tokens)

Run veraPDF PDF/UA Scan

Validate a PDF against PDF/UA with veraPDF and return the failed checks as findings.

Input parameters:

- `filePath` (string, required): 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

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `check_verapdf_installation` (~41 tokens)

Check veraPDF Installation

Health check for veraPDF CLI. Auto-detects installation, reports version, checks Java dependency, and provides platform-specific installation guidance if missing.

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `convert_pdf_form_to_html` (~51 tokens)

Convert PDF Form to Accessible HTML

Extract form fields from a PDF and generate an accessible HTML representation. Useful for reviewing PDF form accessibility or migrating paper forms to web.

Input parameters:

- `filePath` (string, required): Absolute path to the PDF file

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `scan_epub_document` (~86 tokens)

Scan EPUB Document

Scan an .epub for EPUB Accessibility 1.1 conformance, reading order, navigation and metadata.

Input parameters:

- `filePath` (string, required): 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

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `scan_markdown_document` (~61 tokens)

Scan Markdown Document

Scan a markdown file for link text, alt text, heading order, table and emoji accessibility issues.

Input parameters:

- `filePath` (string, required): Absolute path to the .md file
- `reportPath` (string): Optional path to write a markdown accessibility report

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `glow_health_check` (~54 tokens)

GLOW Health Check

Check health of a GLOW API endpoint (defaults to `https://letitglow.app/mcp`).

Input parameters:

- `baseUrl` (string): Optional GLOW API base URL
- `timeoutMs` (integer)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `glow_audit_document` (~76 tokens)

GLOW Audit Document

Upload a document to GLOW and run accessibility audit (/audit). Supports markdown, html, and docx.

Input parameters:

- `baseUrl` (string): Optional GLOW API base URL
- `filePath` (string, required): Absolute path to local file
- `format` (string, required): Document format
- `timeoutMs` (integer)

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `glow_fix_document` (~77 tokens)

GLOW Fix Document

Upload a document to GLOW and run auto-fix workflow (/fix). Supports markdown, html, and docx.

Input parameters:

- `baseUrl` (string): Optional GLOW API base URL
- `filePath` (string, required): Absolute path to local file
- `format` (string, required): Document format
- `timeoutMs` (integer)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `glow_convert_document` (~85 tokens)

GLOW Convert Document

Upload a document to GLOW and convert format (/convert). Supports markdown, html, and docx.

Input parameters:

- `baseUrl` (string): Optional GLOW API base URL
- `filePath` (string, required): Absolute path to local file
- `fromFormat` (string, required): Source format
- `timeoutMs` (integer)
- `toFormat` (string, required): Target format

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `glow_generate_report` (~89 tokens)

GLOW Generate Report

Upload a document to GLOW and generate report output (/report). Supports markdown, html, and docx.

Input parameters:

- `baseUrl` (string): Optional GLOW API base URL
- `filePath` (string, required): Absolute path to local file
- `format` (string, required): Document format
- `reportType` (string): Report type (default: json)
- `timeoutMs` (integer)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `save_audit_result` (~181 tokens)

Save Audit Result

Save a scan result to the audit history so later runs can show a delta and compliance evidence stays in the repository.

Input parameters:

- `errorCount` (number): Number of error-severity findings
- `findingCount` (number, required): 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, required): Target that was scanned (URL, file path, or folder path)
- `toolVersion` (string): Version of the scanning tool
- `type` (string, required): Type of scan that produced these results
- `warningCount` (number): Number of warning-severity findings

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `list_audit_history` (~88 tokens)

List Audit History

List stored accessibility audit results from .a11y-history/. Filter by scan type, target, or date range. Returns summaries with scores and finding counts.

Input parameters:

- `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

Output parameters:

- `items` (array): The records returned.
- `total` (number): How many records exist, when more than were returned.

### `get_audit_result` (~51 tokens)

Get Audit Result

Retrieve a specific stored audit result by its ID. Returns the full audit record including all findings.

Input parameters:

- `auditId` (string, required): Audit ID (filename without .json extension, from list_audit_history)

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `prune_audit_history` (~52 tokens)

Prune Audit History

Remove old audit results beyond the retention limit for each target. Keeps the newest N audits per target and deletes the rest.

Input parameters:

- `retention` (number): Max audits to keep per target (default: 30)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `get_audit_trend` (~68 tokens)

Get Audit Score Trend

Return the score history for one target, with direction, delta and finding velocity, so a trend can be reported.

Input parameters:

- `limit` (number): Max historical scans to include (default: 20)
- `target` (string, required): Target to compute trend for (URL or file path)

Output parameters:

- `items` (array): The records returned.
- `total` (number): How many records exist, when more than were returned.

### `render_accessibility_report` (~106 tokens)

Render an accessibility report

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.

Input parameters:

- `findings` (array, required): 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.

Output parameters:

- `detail` (string): What the file contains.
- `format` (string): The format written.
- `path` (string): The file written.

### `fix_document_metadata` (~103 tokens)

Fix Document Metadata

Fix common metadata accessibility issues in Office documents: missing title, missing language, missing author. Returns a report of changes made.

Input parameters:

- `author` (string): Document author to set
- `filePath` (string, required): 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

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `fix_document_headings` (~58 tokens)

Fix Document Headings

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.

Input parameters:

- `filePath` (string, required): Absolute path to the document (.docx)

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `check_audit_cache` (~123 tokens)

Check Audit Cache

Check whether a cached audit result exists and is still fresh for this target.

Input parameters:

- `cacheFile` (string): Path to cache file (default: .a11y-cache.json in project root)
- `filePaths` (array, required): 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

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `update_audit_cache` (~111 tokens)

Update Audit Cache

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.

Input parameters:

- `cacheFile` (string): Path to cache file (default: .a11y-cache.json in project root)
- `entries` (array, required): Array of scan results to cache
- `useContentHash` (boolean): Use SHA-256 content hash instead of size+mtime. Default: false

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

### `check_color_blindness` (~81 tokens)

Check Color Blindness

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.

Input parameters:

- `colors` (array, required): Array of hex colors to compare (e.g. ['#FF0000', '#00FF00'])

Output parameters:

- `detail` (string): A short explanation of the result.
- `level` (string): The conformance level this result is judged against.
- `passes` (boolean): 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.

### `check_reading_level` (~37 tokens)

Check Reading Level

Estimate the reading level of a passage and report whether it meets the requested grade.

Input parameters:

- `text` (string, required): Text content to analyze

Output parameters:

- `detail` (string): A short explanation of the result.
- `level` (string): The conformance level this result is judged against.
- `passes` (boolean): 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.

### `validate_caption_file` (~78 tokens)

Validate Caption File

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).

Input parameters:

- `filePath` (string, required): Absolute path to the .vtt or .srt caption file

Output parameters:

- `findings` (array): 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): Files, URLs or components examined.

### `generate_accessibility_statement` (~194 tokens)

Generate Accessibility Statement

Generate a W3C or EU model accessibility statement from provided information. Outputs a Markdown document ready for publishing.

Input parameters:

- `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, required): Overall conformance status
- `contactEmail` (string, required): Accessibility feedback contact email
- `format` (string): Statement format: w3c (default) or eu
- `knownLimitations` (array): Known accessibility limitations
- `organization` (string, required): Organization name
- `technologies` (array): Technologies relied upon (e.g. HTML5, CSS3, WAI-ARIA)
- `websiteUrl` (string, required): Website URL covered by the statement

Output parameters:

- `detail` (string): What happened, in one sentence.
- `ok` (boolean): 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.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp#diagnostics

## Score history

- 2026-11-05: 87
- 2026-11-04: 86
- 2026-11-03: 86
- 2026-11-02: 85
- 2026-11-01: 85
- 2026-10-31: 84
- 2026-10-30: 84
- 2026-10-29: 83
- 2026-10-28: 83

## Common questions

### 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.

## Links

- npm package: https://www.npmjs.com/package/@community-access/accessibility-agents-mcp
- Socket report: https://socket.dev/npm/package/@community-access/accessibility-agents-mcp
- Repository: https://github.com/Community-Access/accessibility-agents
- Website: https://community-access.org/
- Changelog RSS feed: https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp.json
- HTML version of this page: https://verifymcp.io/servers/community-access-accessibility-agents/community-access-accessibility-agents-mcp
