audit_url
Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), optionally fires caller-supplied hover/focus/click interactions, and captures real pixels + the rendered DOM. Then runs the existing audit_page rule engine, per-element WCAG contrast, responsive-visibility (desktop-shown/mobile-hidden), blank-media detection, sliced-image edge symmetry, and hover-state white-wash detection over the captures. Every finding is tagged confirmed | likely-artifact | inconclusive with its evidence, ranked by severity. This is the tool that catches real-world visual nits invisible to HTML-string/geometry audits: cropped images, blank videos, hover white-wash, sliced exports, and hidden-on-mobile content. Requires headless chromium. audit_url is disabled on the hosted (remote) endpoint: one run drives a real browser through every requested viewport and theme, and was MEASURED at 95s in its cheapest single-viewport single-theme configuration and past 120s with defaults, which exceeds the per-call budget of the hosted clients that call it. Run it locally instead (npx raven-mcp) where there is no request deadline, or pass the page HTML to audit_page here for a static grade.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to render and audit (http/https or file://) | |
| themes | No | Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark'] | |
| compact | No | Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget. | |
| timeoutMs | No | Per-navigation timeout in ms. Default: 30000 | |
| viewports | No | Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200 | |
| interactions | No | Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content. | |
| scroll_settle | No | Step through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true | |
| containerMaxWidth | No | Your design system's canonical container width in px — makes the max-width check token-aware. | |
| includeScreenshots | No | Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large). |