Skip to main content
Glama

audit_url

Read-only

Render and capture live URLs at multiple viewports and themes with interactions, then audit real pixels to catch visual defects like cropped images, blank videos, and hidden-on-mobile content.

Instructions

Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), fires hover/click/focus 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL to render and audit (http/https or file://)
themesNoThemes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark']
compactNoDrop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget.
timeoutMsNoPer-navigation timeout in ms. Default: 30000
viewportsNoViewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200
interactionsNoFire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content.
scroll_settleNoStep through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true
containerMaxWidthNoYour design system's canonical container width in px — makes the max-width check token-aware.
includeScreenshotsNoInclude the base64 full-page PNG per capture in the result. Default: false (screenshots are large).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description extensively details behaviors: rendering, scroll-settling, interaction firing, pixel/DOM capture, and rule engine execution. It also notes the requirement for headless Chromium. Annotations (readOnlyHint, openWorldHint, destructiveHint) are consistent and not contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but somewhat verbose. It front-loads the core purpose and then lists features, with every sentence adding value. However, it could be slightly more concise for quicker parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, no output schema), the description provides a thorough overview of functionality, including the nature of findings (confirmed/likely-artifact/inconclusive). It does not explicitly describe the output structure but gives enough context for an agent to understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 9 parameters have descriptions in the schema (100% coverage), and the description adds significant context beyond the schema. For example, it explains the purpose of 'compact' (drop base64 screenshots to save budget) and 'interactions' (diff against baseline for white-wash detection).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a 'Layer 0 render-and-capture audit' on a live URL, including scroll-settling, interactions, pixel capture, and various visual checks. It distinguishes itself from siblings by emphasizing it catches 'real-world visual nits invisible to HTML-string/geometry audits,' making its purpose specific and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for visual nits not caught by HTML-string audits) but does not explicitly state when not to use or name alternatives. However, it provides enough context for an agent to infer appropriate usage scenarios, given sibling tools like audit_page.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rhinocap/raven-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server