Tactual MCP
@tactual-dev
Screen-reader navigation cost analyzer — models the real effort to discover, reach, and operate interactive web content
Overview
What is Tactual MCP?
Tactual MCP is a server for the Tactual screen-reader navigation cost analyzer. It measures how many keystrokes a screen-reader user needs to discover, reach, and operate every interactive target on a webpage, under AT profiles such as NVDA, JAWS, and VoiceOver. It is built for developers analyzing their own sites and staging environments, complementing conformance scanners like axe-core.
How to use Tactual MCP?
Install the tactual npm package (requires Node.js 20+). The MCP server runs as tactual-mcp and is included with the package. After installation, configure your MCP client to invoke the tactual-mcp command. Tools such as analyze-url, diff-results, transcript, and validate-url are available via the CLI and can be used through the MCP server.
Key features of Tactual MCP
- Measures navigation cost (keystrokes) for screen-reader users
- Supports AT profiles: NVDA, JAWS, VoiceOver
- Explores hidden UI with keyboard probing (menus, dialogs, tabs)
- Simulates screen-reader announcements and transcripts
- Outputs JSON, Markdown, and SARIF formats
- Diff analysis for before/after verification
- Optional validation against virtual screen reader
Use cases of Tactual MCP
- Triage accessibility navigation cost across a site or route
- Verify code changes by comparing baseline and candidate analysis
- Analyze specific interactive widgets (menus, dialogs, form errors)
- Generate compact evidence (selectors, penalties, remediation candidates) for issues or PRs
- Run in CI to catch regressions in screen-reader navigation cost
FAQ from Tactual MCP
How does Tactual differ from conformance checkers like axe-core?
Tactual measures navigation cost (keystrokes to reach and operate targets), whereas conformance tools check WCAG/ARIA rule violations. Tactual is intended as a second pass after markup is valid.
What are the runtime requirements?
Node.js 20 or later. Playwright and MCP SDK are bundled as runtime dependencies, so one-off npx commands work without separate Playwright installs.