MCP server for accessibility testing using Playwright and axe-core
The server has well-structured tool definitions with clear naming, reasonable descriptions, and properly typed input schemas. All three tools follow the verb_noun pattern and have enum constraints where appropriate. However, output schemas are not documented, error handling lacks recovery guidance, and descriptions could be more explicit about prerequisites and state changes. The tools are read-only and well-intentioned, but lack the depth expected for production-grade accessibility testing.
Retrieve saved accessibility test results by filename
List all available accessibility test result files
Run accessibility tests on a website using Playwright and axe-core against WCAG standards
Output schemas not documented. No specification of what fields are returned by any tool, breaking the agent's ability to plan downstream tool calls and extract required data.
Error handling lacks recovery guidance. When tools fail (invalid URL, missing file, network timeout), error messages do not tell the agent what to do next or how to self-correct.
Tool composition and chaining not documented. get_test_results requires a fileName, but list_test_results output format is undefined, so agents cannot discover valid filenames to pass to get_test_results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Descriptions lack actionable detail about test execution. Description of test_accessibility does not mention browser initialization time, playwright dependencies, network requirements, or what happens if a page fails to load.
Missing idempotency semantics. It is unclear whether running test_accessibility twice on the same URL will return identical IDs, timestamps, or results, which matters for agent retry logic.