Skip to main content
Glama

audit_ios_screen

Read-only

Audits an iOS screen by scoring touch targets, color contrast, and visual rhythm from an accessibility snapshot against platform standards.

Instructions

Audit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:"ios". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewport:{w,h}} to score 44×44pt touch targets, contrast (with iOS secondaryLabel/tertiaryLabel treated as platform-standard — warn not fail), and visual rhythm (alignment, gap consistency, optical balance) in points. Same return shape as audit_page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileNoTaste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectNoProject identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-scheme notes; results gain note_assessments.
elementsNoElements captured from the rendered screen via an accessibility/view-hierarchy snapshot
viewportNoScreen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel
screenshotNoOptional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.
Behavior5/5

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

The description adds substantial behavioral context beyond annotations. It details what checks are performed (44x44pt touch targets, contrast with iOS standard colors, visual rhythm), clarifies that screenshot is for reference and geometry comes from snapshot, and describes the relationship with audit_page. Annotations already declare readOnlyHint=true and destructiveHint=false, and the description aligns without contradiction.

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 front-loaded with the core purpose and is mostly concise. It includes detailed parameter explanations that are valuable, but could be slightly more compact without losing information. Every sentence earns its place.

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 complexity (5 parameters, nested objects, no output schema), the description is complete. It covers all parameters, explains expected input shapes, describes audit checks, and clarifies the return shape via cross-reference to audit_page. No gaps remain.

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 100%, so baseline is 3. The description adds significant meaning: it explains the expected shape of elements (label, rect, role, fontPt, etc.), defines viewport, and explains the optional profile and project parameters for binding. It also describes the return shape via cross-reference to audit_page. This far exceeds the schema alone.

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 it audits a rendered iOS screen from a view-hierarchy/accessibility snapshot, and identifies itself as an alias of audit_screen with platform:"ios". This provides a specific verb (audit) and resource (iOS screen), and distinguishes it from siblings like audit_page and audit_screen.

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

Usage Guidelines3/5

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

The description gives examples of how to call the tool (with no arguments or with elements/viewport), and mentions the return shape is same as audit_page. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., audit_page, audit_screen, other audit tools). No exclusions or alternative recommendations are provided.

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