Skip to main content
Glama
Derrors

iphone-control

iphone_batch

Runs up to 20 sequential iPhone actions in one call, stopping at the first failed step and reporting its number, so defined multi-step interactions complete without separate calls.

Instructions

按顺序执行几步操作,一次调用完成(最多 20 步),某一步出错就停下并说明是第几步。

steps 每项是 {"tool": 工具名, 其余是该工具的参数},可用:iphone_tap、iphone_tap_element、iphone_long_press、iphone_swipe、iphone_type_text、iphone_press_button、iphone_launch_app、iphone_terminate_app、iphone_open_url、iphone_wait_for,以及 {"tool": "wait", "seconds": 秒数}(不超过 5)。 适合确定的连续操作;每步的结果不确定(例如点了以后不知道会跳到哪)时,还是一步步来。 then 同其他操作工具:全部做完后顺带返回界面。

Input Schema

NameRequiredDescriptionDefault
thenNo操作后等界面稳定,再顺带返回界面:elements=元素列表(最多 80 个),screenshot=截图。省一次单独的调用none
stepsYes要执行的步骤
then_filterNothen=elements 时只列包含这段文字的元素
then_regionNothen=screenshot 时只返回这块区域的放大图 [x, y, width, height](点),例如游戏棋盘
then_settleNo顺带返回界面前最多等几秒让界面稳定(不超过 10)。游戏、地图按画面是否静止判断,消除连锁等长动画可调大,画面一静止就返回
reuse_elementsNo这批操作不改变界面布局时(例如在同一个键盘上连按)设为 true:按名字点击复用最近读到的元素树,每步省 0.3~0.8 秒。会跳转页面的不要用,否则可能点到旧位置

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are supplied, so the description has to carry the behavioral burden, and it does: it declares the 20-step cap, fail-fast semantics on the first error, reporting the failing step number, and the nested wait limit of 5 seconds. It does not state the return shape in detail — for example, whether the partial results of already-run steps are included or that side effects of earlier steps persist — which is a real gap for a sequence executor.

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 core contract — order, single call, 20-step cap, stop-on-error — is front-loaded in the first line, and the remaining lines each add a distinct rule. The tool list is long but necessary; nothing is pure repetition, though the `then` line is terse enough to be slightly ambiguous.

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 six-parameter orchestration tool with no annotations and no output schema, the description covers the step structure, tool whitelist, step and wait limits, and the side-return family. It leaves error-reporting granularity and whether prior steps' effects persist after a failure unstated, which would matter for a batch executor.

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 five top-level parameters (then, then_filter, then_region, then_settle, reuse_elements) are documented in the schema, so the baseline would be 3. The description earns more because the schema defines `steps` only as a generic object array, and the description supplies the actual item shape {"tool": …} along with the full set of allowed tool names and a note that `then` matches the other action tools.

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 gives a specific verb and resource: it runs several operations in sequence in a single call, with a hard cap of 20 steps, and halts on the first error. It also lists the exact sub-tools it accepts, which cleanly distinguishes it from the individual sibling tools such as iphone_tap and iphone_swipe.

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?

It states the condition for use ("适合确定的连续操作" — deterministic consecutive operations) and the condition to avoid it ("每步的结果不确定…时,还是一步步来" — when the result of each step is unknown). That covers both directions explicitly and points to the stepwise alternative without leaving the agent to infer it.

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