{"name":"io.github.tactual-dev/tactual","slug":"tactual-dev-tactual","title":"Tactual","description":"Screen-reader navigation cost analyzer. Scores AT user effort to find, reach, and operate content.","url":"https://mcp.market/server/tactual-dev-tactual","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":17,"stars":1,"forks":0,"downloads_week":49,"last_push_at":"2026-06-28T17:53:23.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/tactual-dev/tactual","website":null,"version":"0.2.1","remotes":[],"packages":[{"registryType":"npm","identifier":"tactual","version":"0.2.1","transport":{"type":"stdio"}}],"tools":[{"name":"analyze_pages","description":"Analyze 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. ","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_url","description":"Analyze 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"diff_results","description":"Compare 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_profiles","description":"List 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"save_auth","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"suggest_remediations","description":"Extract 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"trace_path","description":"","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-27T23:16:03.832Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T23:16:03.722Z","components":{"code":{"score":25,"max":25,"notes":["32 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 91 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"tactual","version":"0.2.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-04-06T22:19:31.822Z","repositoryUrl":"git+https://github.com/tactual-dev/tactual.git","weeklyDownloads":49}],"repo":{"found":true,"owner":"tactual-dev","repo":"tactual","archived":false,"pushedAt":"2026-06-28T17:53:23Z","stars":1,"forks":0,"openIssues":5,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/273739506?v=4","ownerCreatedAt":"2026-04-05T07:47:17Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/273739506?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":49,"license":"Apache-2.0","lastPushAt":"2026-06-28T17:53:23.000Z","score":17}}}},"grade_history":[],"reviews":[]}