Skip to main content
Glama
Derrors

iphone-control

iphone_list_elements

Lists on-screen UI elements with text—type, label, center coordinates, and size—optionally filtered by text to locate specific controls for automation.

Instructions

列出屏幕上带文字的界面元素:类型、标签、中心点坐标、尺寸。

filter: 只返回类型/标签/名字/值里包含该文字的元素(不区分大小写),例如 SearchField、Button。 注意:按坐标判断是否在屏幕内,被弹窗遮住的元素也可能列出来,不确定时截图核对。

Input Schema

NameRequiredDescriptionDefault
limitNo
filterNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full behavioral burden and does so well: it discloses that only text-bearing elements are listed, that on-screen decisions are coordinate-based, and that elements hidden behind dialogs can still appear — a genuine trap the agent is warned about. It says nothing about result ordering or what happens when more than `limit` elements match, which is the remaining behavioral gap.

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 sentences, each with a distinct job: what it returns, how filtering works, and a correctness caveat. Front-loaded and free of filler, though the filter sentence chains several ideas with slashes and parentheses and could be split for faster scanning.

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?

For a two-parameter read tool with no output schema and no annotations, the definition covers the important ground: return shape, filter semantics, and the occlusion pitfall. The undocumented `limit` parameter is the one thing an agent could get wrong — it cannot tell whether a missing element means 'not on screen' or 'truncated at 150'.

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 description coverage is 0%, so the description must compensate for both parameters. It documents `filter` thoroughly — which fields are matched, case-insensitivity, and sample values — but `limit` is never mentioned at all, leaving its default of 150 and its effect on truncation unexplained.

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?

The opening clause states a specific verb and resource ('列出屏幕上带文字的界面元素') and enumerates the four fields returned (类型、标签、中心点坐标、尺寸), so an agent knows exactly what comes back without an output schema. It also implicitly distinguishes itself from iphone_screenshot by dealing in element metadata rather than pixels, though it never names the sibling explicitly.

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 filter line gives a concrete use case with real examples (SearchField, Button), and the closing note routes the agent to the screenshot tool when element geometry looks unreliable. It stops short of stating when not to use this tool (e.g. when waiting for a state change, which belongs to iphone_wait_for).

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