Skip to main content
Glama

design_gauntlet

Read-onlyIdempotent

Measure your page's live CSS against a reference site, identify polish gaps across nine visual dimensions, and receive concrete fixes with a pass/fail verdict to guide redesign iterations.

Instructions

Answers 'why does my page look less polished than theirs?' with numbers instead of adjectives. Give it your page and a page you admire (vercel.com, linear.app, anything); both are rendered headless and their LIVE computed CSS is measured — never recalled from memory — across the nine things that decide perceived polish: surfaces, hairlines, text roles, letter spacing, accent, type scale, radii, elevation, rhythm (the first four dominate). You get back both sets of raw measurements, a per-dimension diff flagging where yours is worse, a concrete bar derived from the reference's own values (e.g. 'at most 4 surface colors — yours has 11'), a fix list split into mechanical find-and-replace vs decisions a human has to make, and one boolean, verdict.on_par. That boolean is the exit gate of the loop the response spells out: build, critique with fresh-context critics against renders, re-run this tool, and only call the work done when on_par is true. The reference is a standard, not a source — never copy its copy, marks, imagery or brand color.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewportNoViewport for both measurements. Default 1440x900.
subject_urlYesThe page being improved — rendered headless and measured live.
color_schemeNoprefers-color-scheme emulated for BOTH pages (sites that theme by system preference measure differently per scheme). Default light; it is reported on each measurement.
reference_urlYesThe benchmark page (e.g. https://linear.app) — measured the same way; its values derive the bar.
device_scale_factorNoDevice pixel ratio for BOTH measurements — one value, so the hairline diff is never scale-mismatched. Default 1. Pass 2 to measure a page the way a retina display resolves it — it selects the retina branch of image-set()/srcset and min-resolution media queries, which can change the surfaces and type a page actually renders. It does NOT fix hairlines: border-width is rounded up to 1px by the engine at every scale (border-radius is not), so sub-pixel strokes stay unmeasurable and the borders dimension warns when a 1px entry is ambiguous. Range (0, 4].

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv2.5.1

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already mark it read-only and idempotent, and the description adds substantial behavioral context on top: both pages are rendered headless and measured from live computed CSS, never from recall. It also discloses the reference-guardrail behavior (don't copy the reference's copy, marks, imagery, or brand color), which is exactly the kind of behavioral nuance annotations cannot express.

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 text is long but dense, and every sentence contributes: input, measurement method, dimensions, outputs, the on_par loop, and the standard-vs-source rule. It loses a point only for being a single unwieldy paragraph rather than a more scannable structure.

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

Completeness5/5

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

With no output schema present, the description thoroughly enumerates the full return shape: both raw measurements, per-dimension diffs, concrete derived bars, a human-vs-mechanical fix list, and the on_par boolean. Combined with the loop usage, this is remarkably complete for a tool with nested parameters and nuanced measurement behavior.

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

Parameters4/5

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

The schema already covers all parameters, so the baseline is high. The description adds semantic weight by clarifying that subject_url is the page being improved, reference_url is the benchmark whose values derive the bar, and that both are measured the same live way. This qualifies the meaning of the parameters beyond their schema descriptions.

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 names the exact question it answers, defines the tool as a live, headless comparison of a subject page against a reference page, and enumerates the nine measured dimensions. This clearly differentiates it from sibling audit or scoring tools because the core is comparative benchmarking with a verdict boolean.

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 explicitly places the tool inside a loop: build, critique against renders, re-run, and only consider work done when verdict.on_par is true. It also gives a clear rule for interpreting the reference page — a standard, not a source — though it doesn't name alternate sibling tools or give explicit when-not-to-use cases.

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