Skip to main content
Glama

native-describe-screen

Reads the running app's native accessibility screen description, returning a flat list of leaf elements with frames and normalized coordinates for debugging the underlying native data.

Instructions

Read the running app's native accessibility screen description via injected native devtools.

Returns a flat list of accessibility leaf elements with:

  • raw native point-space frame and tapPoint

  • normalizedFrame and normalizedTapPoint relative to the app's main screen bounds

  • top-level screenFrame metadata

  • traits and optional labels/identifiers

This is a low-level native inspection tool. The normalized fields are intended to help with backend migration work, but the public describe contract is still separate.

Useful for evaluating or debugging the lower-level native data that powers the public describe tool.

If status is restart_required: call restart-app then retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
udidYesSimulator UDID
bundleIdYesBundle ID of the app
skipClassesNoExact UIView class names whose entire subtree should be pruned (e.g. ["UIImageView"] to drop image-heavy branches)
skipClassPrefixesNoClass name prefixes to prune entire subtrees. For SwiftUI apps use ["_TtGC7SwiftUI"] to drop mangled SwiftUI generic type subtrees while keeping UIKit bridges.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool injects native devtools, explains the return format in detail, and describes an error condition. However, it lacks information about potential side effects, authentication needs, or other failure modes like app not running.

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

Conciseness5/5

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

The description is well-structured with a clear opening sentence, a list of return fields, context about its purpose, and a usage hint. Every sentence adds value, and it is front-loaded with the main action. There is no redundancy.

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 moderate complexity (4 parameters, no output schema), the description explains the return values comprehensively, provides error handling guidance, and contextualizes the tool's role relative to the public describe tool. It covers all essential aspects for effective use.

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?

Schema coverage is 100%, and the description adds value by explaining the usage of skipClasses and skipClassPrefixes with examples, which goes beyond the schema descriptions. For udid and bundleId, the description does not add much, but overall the parameter semantics are well covered.

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 reads the native accessibility screen description and specifies the return format. It distinguishes from the sibling 'describe' tool by noting that the public describe contract is separate, making the purpose specific and unique.

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 provides context for when to use this tool (debugging lower-level native data) and includes an error handling hint (restart_required -> restart-app). However, it does not explicitly compare to alternatives like 'describe' or 'native-find-views', nor does it state prerequisites or when not to use it.

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/software-mansion/argent'

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