Skip to main content
Glama

ui_review

Serve, screenshot, and critique UI pages against design references with optional accessibility audit. Returns critique, screenshots, and a11y violations.

Instructions

Serve the app, screenshot it, and have agy critique it read-only.

Any file agy edits during the critique is reverted by the diff-gate, so this tool never mutates the project.

When a11y is set (and the platform is a web target), each target is also audited with axe-core; the violations ground agy's critique and are returned structurally under a11y. Native platforms have no DOM, so the audit is skipped there with a note.

Args: project_dir: Absolute path to the project root (must contain the scope). target_route: Optional route appended to scope.serve.url. against_design: Optional absolute paths to design reference images to critique against. a11y: Run axe-core accessibility checks on web targets (default True).

Returns: A dict with critique (agy's text), shots (captured paths), targets (the reviewed target names), a11y (a {target: [violations]} map; empty when disabled/native), and warnings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_dirYes
target_routeNo
against_designNo
a11yNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: it never mutates (edits reverted via diff-gate), a11y runs on web only, and it returns a detailed dict. No contradictions.

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 well-structured with paragraphs and a clear Args section, but a few sentences could be trimmed without losing clarity. Still concise overall.

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?

Given the tool's complexity and presence of an output schema, the description covers inputs, behavior, edge cases (native vs web), and return structure thoroughly. No gaps.

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?

Schema coverage is 0%, but the description explains all four parameters clearly, including defaults (a11y) and types (against_design as paths). This adds significant meaning beyond the schema.

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 uses specific verbs ('serve, screenshot, critique') and clearly identifies the resource (app UI). It distinguishes from the sibling tool 'ui_implement' by emphasizing the read-only review nature.

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 use for design review without mutation, and explains a11y behavior per platform. It does not explicitly state when not to use or list alternatives, but the sibling tool 'ui_implement' provides context.

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/qdzsh/agy-ui-mcp'

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