Skip to main content
Glama

native-user-interactable-view-at-point

Identifies the deepest user-interactable UIView at a raw window coordinate by simulating UIKit hit-testing, respecting userInteractionEnabled.

Instructions

Inspect the deepest UIView at a raw native window point that would actually receive touch input.

Unlike native-view-at-point, this respects userInteractionEnabled and is closer to UIKit hit-testing semantics.

IMPORTANT: x and y are raw iOS window coordinates in points, NOT normalized [0,1] simulator tap coordinates.

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYesRaw X coordinate in the app window's native point space. NOT normalized [0,1] tap space.
yYesRaw Y coordinate in the app window's native point space. NOT normalized [0,1] tap space.
udidYesSimulator UDID
fieldsNoView fields to include. Defaults: pointer, className, tag, frame, windowFrame, bounds, hidden, alpha, opaque, clipsToBounds, userInteractionEnabled, depth, identifier, label, layerName, nativeID. Additional: center, transform, contentMode, backgroundColor, tintColor
bundleIdYesBundle ID of the app
maxDepthNoMaximum depth for returned child/ancestor serialization (default 150)
skipClassesNoExact UIView class names whose entire subtree should be pruned
includeChildrenNoInclude child views for the matched view (default false)
includeAncestorsNoInclude ancestor chain for the matched view (default true)
skipClassPrefixesNoClass name prefixes to prune entire subtrees
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It discloses that the tool respects userInteractionEnabled, uses UIKit hit-testing, uses raw window coordinates, and may return restart_required status. It does not cover edge cases like no view found or performance implications, but it is reasonably transparent for a non-mutation tool.

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 extremely concise: three sentences plus an imperative note about restart. The first sentence states the purpose, the second differentiates from a sibling, the third clarifies coordinate semantics, and the note handles an error case. No filler, each sentence earns its place.

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

Completeness4/5

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

Given the tool has 10 parameters, no output schema, and no annotations, the description covers the most critical aspects: differentiation from sibling, coordinate system, and error recovery. However, it does not explain what the return value contains (no output schema) and doesn't add context for optional parameters like fields or skipClasses beyond what the schema provides. Still, it is reasonably complete for its complexity.

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 100%, so the baseline is 3. The description only adds context for x and y parameters (raw window coordinates), but the schema already describes them similarly. Other parameters like fields, skipClasses, etc., are not elaborated beyond their schema definitions. No significant added value beyond 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 clearly states the tool inspects the deepest UIView at a raw native window point that would actually receive touch input. It distinguishes itself from 'native-view-at-point' by explicitly mentioning that it respects userInteractionEnabled and uses UIKit hit-testing semantics, which differentiates it from siblings.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool versus 'native-view-at-point' (when respecting userInteractionEnabled and UIKit hit-testing). It also warns about the coordinate system being raw iOS window points, not normalized, and instructs to call restart-app if status is restart_required. This covers both selection criteria and error handling.

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