A pixel-perfect visor for AI coding assistants - MCP server for visual CSS debugging that provides screenshot capture and pixel-level diffing, computed style extraction and comparison, CSS inheritance chain analysis, and structured verification reports
La Forge MCP provides 6 tools for visual CSS debugging with Chrome DevTools Protocol integration. Tool names follow verb_noun convention (start_chrome, capture_reference, verify_against_reference, get_element_debug_info, quick_visual_check, compare_elements). Descriptions are present and moderately detailed (avg ~120 chars). However, input schemas lack proper JSON Schema structure, parameters are documented but not formally typed in the visible code. Output schemas are not documented. Error handling exists but lacks recovery guidance. Security includes path traversal defense (sanitizeName, resolveInRefDir) but no permission gates or audit logging. No tool annotations (readOnlyHint/destructiveHint). Overall: functional but below production baseline.
Capture the current viewport as a reference screenshot for later comparison
Compare computed styles of an element against expected values and report discrepancies
Extract computed styles, bounding box, and CSS inheritance chain for a specific element
Perform a quick visual check of the current viewport without storing a reference
Start a Chrome instance with remote debugging enabled and navigate to a specified URL
Compare the current viewport against a previously captured reference screenshot and report pixel-level differences
Input schemas lack formal JSON Schema typing. Parameters documented in descriptions but not declared with 'type', 'required', 'properties' in visible schema registration. Rubric: 'If parameters lack type definitions: schema score CANNOT exceed 30.' This forces LLMs to infer parameter structure from text alone.
Output schemas not documented. Tools return complex objects (DiffResult, ComputedStyles, ElementInfo) but LLMs have no schema to understand field names, types, or structure. Rubric: '100% of A+ tools have documented return types.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools like capture_reference and start_chrome modify state but lack destructiveHint. Rubric: 'Reward when present: tool annotations.' Current spec (2026-07-28) expects these for proper agent planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. CDP errors ('No Chrome instance found') include hints, but most validation errors (invalid selector, threshold out of range) do not suggest next steps. Rubric: 'Error responses must tell the LLM what to do next.'
No permission gates or audit logging. Tools that write to disk (capture_reference) and spawn processes (start_chrome) lack access control or call tracing. Rubric: 'Gate destructive or sensitive tools behind permission checks. Log who called what tool, with which parameters, at what time.'