Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NAVABLE_PROJECT_ROOTNoAbsolute path to the project root, used to resolve the .navable-plan.json file location. Optional; auto-detected if omitted.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
run_accessibility_scanA

Scan a URL for WCAG 2.1 Level A + AA accessibility violations using Playwright + axe-core, with optional Pa11y (HTMLCS) as a second engine.

Returns structured violations grouped by severity with WCAG criteria and fix hints. Requires the target URL to be running and reachable.

ENGINES: Default: ["axe"]. Pass {"engines": ["axe", "htmlcs"]} to also run Pa11y/HTMLCS. Crossover findings are deduped server-side: an axe violation also flagged by HTMLCS is marked with alsoFlaggedBy: ["htmlcs"]. Adding HTMLCS typically grows the result by ~10-20% (mostly standalone HTMLCS findings) and adds ~2-4s wall-clock per scan.

NEXT STEP: The result includes a "scanId" field. Pass it directly to generate_fix_plan: generate_fix_plan({ scanId: "" }) Do NOT pass the full scan result object - use the scanId instead.

generate_fix_planA

Convert a scan result into a structured AccessibilityFixPlan and write it to .navable-plan.json.

PREFERRED WORKFLOW:

  1. Call run_accessibility_scan — it returns a "scanId" field in the result.

  2. Call generate_fix_plan with { scanId: "<value from step 1>" }. The scanId lookup is server-side — no need to pass the full scan JSON back.

FALLBACK WORKFLOW: Pass the full scan JSON as { scan: }. Use only when the scanId is no longer available (server was restarted; last 10 scans are kept).

WRITE LOCATION: Writes .navable-plan.json to the project root (auto-detected via package.json / .git walk-up). If the file ends up in the wrong place, set the NAVABLE_PROJECT_ROOT environment variable in your MCP server config to the absolute path of your project directory.

RESPONSE: Always includes "planPath" — the absolute path where the file was written. On write failure, returns an error with the attempted path and instructions to set NAVABLE_PROJECT_ROOT.

update_fix_statusA

Update the status of one or more items in .navable-plan.json.

Use after applying a fix to mark it as done, or to skip an item. Reads the plan from the project root (or planPath), updates the matching items, and writes the file back. Returns the updated summary.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
wcag-mappingWCAG 2.1 Level A + AA mapping table: success criteria, EN 301 549 clauses, testability, and axe-core rules. For BFSG/German legal context, load navable://docs/bfsg-legal.
bfsg-legalBFSG legal context: legal chain, scope, German glossary, enforcement & penalties, BITV 2.0 requirements, key dates, and references. Optional resource for German compliance.
aria-patternsCompact index of 25 WAI-ARIA widget patterns (~2 KB). Load a specific pattern with navable://docs/aria-patterns/{slug}.
semantic-htmlCompact index of semantic HTML elements with implicit ARIA roles (~3 KB). Load element detail with navable://docs/semantic-html/{element}.
fix-patternsAll axe-core rule fix patterns (~49 KB). Prefer the filtered version navable://docs/fix-patterns/{ruleIds} for scan-fix workflows.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/web-DnA/navable-web-accessibility-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server