Marlo over the Model Context Protocol. Read-only accessibility analysis server that checks HTML against ACT rules with measured accuracy metrics.
Marlo MCP exposes 3 read-only accessibility audit tools with clear, domain-specific descriptions (avg 180 chars). All tools have proper input schemas with type definitions. However, parameter descriptions are sparse or missing entirely (marlo_scan_html has 'rules' with no description), and output schemas are not documented. Error handling guidance is absent. The tools follow a single-responsibility pattern well (scan, explain, coverage), but lack the structured output documentation and recovery guidance expected of production tools.
What Marlo covers, as a fraction with its denominator, plus its measured false positive rate. Call this before reporting any result to a person, so the report can say what was not checked.
Explain one ACT rule: what it requires, which WCAG success criteria it maps to, and how accurately each engine implements it, in both the official W3C view and a strict view where "cannot tell" counts as no detection. Use this before trusting a finding.
Check HTML source against the ACT rules Marlo implements. Returns findings with the measured accuracy of the engine that reported each one, and states which rules could not be evaluated before listing what was found. Not comprehensive: coverage is a fraction of the published ACT rules and automation reaches a minority of WCAG. Runs in a Node DOM with no CSS layout, so contrast and focus visibility come back as not evaluated rather than as passing.
Output schemas not documented. LLMs cannot plan downstream operations or extract structured data from results. marlo_scan_html returns 'findings' but structure is unknown; marlo_explain_rule returns rule metadata but fields are undocumented.
Parameter descriptions incomplete or missing. 'rules' parameter in marlo_scan_html has no description; 'actRuleId' in marlo_explain_rule lacks format guidance (e.g., 'ACT rule identifier like c487ae'). LLMs cannot infer valid input formats.
No error handling guidance. Tools do not document what happens on invalid ACT rule IDs, malformed HTML, or network failures. LLMs have no recovery path if a call fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Tool annotations missing. No readOnlyHint, destructiveHint, or idempotentHint declared. All three tools are read-only and idempotent, declaring this via annotations helps agents reason about safety and retry logic.
marlo_coverage accepts no parameters but description does not explain what it returns (e.g., 'coverage as a fraction with denominator, false positive rate'). Output structure is opaque.