Skip to main content
Glama

ui_snapshot

Read-only

Capture a bounded UIKit view hierarchy summary from an iOS device, then reuse snapshot_id with offset to page immutable results without reconnecting. Enable text or detail fields when needed.

Instructions

Capture a fresh bounded UIKit summary. Reuse snapshot_id + offset for immutable pages without device access. Text is opt-in; format=detail or fields selects extra metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNo
limitNo
fieldsNo
formatNosummary
offsetNo
device_idYes
max_nodesNo
session_idYes
snapshot_idNo
include_textNo
root_view_idNo
visible_onlyNo
controls_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
dataNo
errorNo
elapsed_msYes
request_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, non-destructive, closed-world, so the safety profile is covered. The description adds real value by disclosing that pages are immutable and can be re-read without touching the device — a non-obvious caching semantic — but it omits that visible_only and controls_only default to true and will silently filter the tree, and says nothing about node/page caps or failure modes.

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?

Three compact sentences, each carrying distinct information — capture semantics, paging semantics, and output shaping — with no filler. It is front-loaded with the core action rather than burying it.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not needed. But for a 13-parameter tool with 0% schema coverage, the description leaves the default filtering behavior (visible_only/controls_only=true) and the bounding knobs unexplained — an agent could easily misread a filtered snapshot as complete.

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

Parameters3/5

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

Schema coverage is 0%, so the description carries the burden and does explain the most consequential params: snapshot_id + offset for immutable paging, include_text as opt-in, and format=detail/fields for extra metadata. That leaves eight parameters (depth, limit, max_nodes, visible_only, controls_only, root_view_id, device_id, session_id) with no semantic help beyond their bare titles, so compensation is partial.

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

Purpose4/5

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

States a specific verb and resource: 'Capture a fresh bounded UIKit summary.' The word 'bounded' and the pagination note distinguish it from a raw dump, though it never names how it differs from sibling ui_capture or ui_automate.

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?

It gives one concrete usage pattern (reuse snapshot_id + offset to page without device access) and notes text is opt-in, which implies when to set include_text. But it offers no explicit when-to-use vs. ui_capture/ui_automate guidance and no prerequisites for device_id/session_id.

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