Tactual MCP server
io.github.tactual-dev/tactual·v0.2.1·1 starsScreen-reader navigation cost analyzer. Scores AT user effort to find, reach, and operate content.
1 stars49 downloads/wk
Reviews
Write oneNobody has reviewed Tactual yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Tactual tools (7)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_pagesAnalyze multiple pages and produce an aggregated site-level report. Runs analyze_url on each URL in a single browser session and combines results into a site score with per-page breakdown. Read-only \u2014 navigates to each URL but does not modify pages. Use this instead of calling analyze_url repeatedly when you need a site-level assessment. Returns ~200 bytes per page plus a site-level summary.
analyze_urlAnalyze a web page for screen-reader navigation cost. Returns scored findings showing how hard it is for AT users to discover, reach, and operate interactive targets. Read-only \u2014 navigates to the URL in a sandboxed browser but does not modify the page. **Recommended**: Use format='sarif' for concise, actionable output (~4KB). SARIF auto-filters to findings that need attention (moderate and wo
diff_resultsCompare two Tactual analysis results (before/after). Shows what improved, regressed, which penalties were resolved or added, and severity band changes per target. Returns a JSON array of {targetId, baselineScore, candidateScore, status, penalties}. Read-only, no side effects. Use after fixing accessibility issues to verify improvements. Both inputs must be JSON strings from analyze_url (format='js
list_profilesList the assistive-technology (AT) profiles available for scoring. Each profile models a specific screen reader and platform \u2014 e.g., NVDA on Windows, VoiceOver on iOS \u2014 with its own navigation cost weights and action vocabulary. Returns an array of {id, name, platform, description} for each profile. Read-only, no parameters, static data. Call once to discover valid profile IDs, then pass
save_authsuggest_remediationsExtract the top unique remediation suggestions from a Tactual analysis result, ranked by severity. Returns a JSON array of {targetId, severity, score, fix, penalties}. Read-only, no side effects. Most useful with large JSON results where you want a prioritized shortlist of what to fix first. For SARIF results, the findings already contain fix suggestions inline \u2014 this tool is redundant in tha
trace_path
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan32 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 91 days ago8/15
- Maintainer identityregistry namespace matches repository owner7/10
How Tactual compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 60% of 48,255 servers
- Tools
- 7
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 49
- more than 41% of 12,191 servers with a package
What its tools let an agent do: 6 read · 1 create
Install Tactual in Claude Code, Cursor or VS Code
Runs npx -y tactual on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add tactual -- npx -y tactual
What the publisher says
From the Tactual repository's README, as published. We do not edit it. Read it on GitHub
Tactual
Screen-reader navigation cost analyzer. Measures how many keystrokes a screen-reader user needs to discover, reach, and operate every interactive target on your page — under a specific AT profile (NVDA, JAWS, VoiceOver).
What it does
Existing accessibility tools check conformance — is the ARIA correct? Is the contrast ratio sufficient?
Tactual measures navigation cost — how many actions does it take a screen-reader user to reach the checkout button? What happens if they overshoot? Can they even discover it exists? Does the menu actually open on Enter, or only on click? Does focus land on the first menuitem or stay stuck on the trigger?
How it works:
- Captures Playwright accessibility snapshots + screen-reader announcement simulation
- Optionally explores hidden branches (menus, dialogs, tabs, disclosures) and probes them with real keyboard events, including APG-style widget contracts and form-error flows
- Builds a navigation graph with entry points (landmarks, headings, linear Tab) and scores every target
- Optionally validates predicted paths against @guidepup/virtual-screen-reader for calibration
Tactual is a developer tool for analyzing your own sites and staging environments. Run it locally, in CI, or via the MCP server in your editor. It is not a public scanning service.
How it fits
Tactual complements conformance scanners such as axe-core, Lighthouse, and Pa11y. Those tools are still the right first pass for broad WCAG and ARIA rule coverage. Tactual is aimed at the next question: after a page has valid markup, how expensive is it for an AT user to discover, reach, and operate the important targets?
Use Tactual for screen-reader navigation-cost triage, path tracing, measured keyboard/widget evidence, before/after diffs, CI prioritization, and MCP workflows where an agent needs compact findings with source selectors and remediation candidates. Use real screen readers and manual testing for final validation of critical journeys, timing-sensitive flows, browser/AT settings, and implementation patterns that intentionally differ from a common APG example.
Agent quick path: this README is a product overview plus reference. Agents should start with docs/AGENT-RECIPES.md for task patterns and docs/MCP-TOOLS.md for full MCP schemas, then come back here only for product context, install notes, and release-surface examples.
Install
Requires Node.js 20 or later.
npm install tactualTactual installs Playwright as a runtime dependency so one-off npx tactual@latest ... commands work without separately installing Playwright into the npx cache. The MCP SDK also ships as a runtime dependency, so tactual-mcp works from an installed tactual package without a separate SDK install.
Quick start
CLI
# Analyze a URL (default profile: generic-mobile-web-sr-v0)
npx tactual analyze-url https://example.com
# Analyze with a specific AT profile
npx tactual analyze-url https://example.com --profile voiceover-ios-v0
# Explore hidden UI (menus, tabs, dialogs, disclosures)
npx tactual analyze-url https://example.com --explore
# Use a scoring preset for your use case
npx tactual analyze-url https://shop.com --preset ecommerce-checkout
npx tactual analyze-url https://docs.example.com --preset docs-site
# Output as JSON, Markdown, or SARIF
npx tactual analyze-url https://example.com --format json --output report.json
npx tactual analyze-url https://example.com --format sarif --output report.sarif
# Compare two analysis runs
npx tactual diff-results baseline.json candidate.json
npx tactual diff-results baseline.json candidate.json --format json
# Print what NVDA would say as you Tab through the page
npx tactual transcript https://example.com
npx tactual transcript https://example.com --at voiceoverShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Tactual: common questions
- Is Tactual MCP server safe?
- Mostly: it is graded B (80/100). Read the Tactual safety report
- How do I install Tactual?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Tactual need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Tactual maintained?
- The last commit was 129 days ago (2026-06-28). The latest release is v0.2.1.
- How does Tactual compare with other MCP servers?
- safety score 80/100 (higher than 60% of 48,255 servers); tools 7 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.