Skip to main content
Glama
Derrors

iphone-control

iphone_press_button

Presses an iPhone's hardware buttons—Home, volume up/down, or Lock—and optionally returns on-screen elements or a screenshot after the interface settles.

Instructions

按硬件键:home(回主屏幕)、volume_up、volume_down、lock(锁屏;配置了密码时之后的操作会自动解锁)。

Input Schema

NameRequiredDescriptionDefault
thenNo操作后等界面稳定,再顺带返回界面:elements=元素列表(最多 80 个),screenshot=截图。省一次单独的调用none
buttonYes
then_filterNothen=elements 时只列包含这段文字的元素
then_regionNothen=screenshot 时只返回这块区域的放大图 [x, y, width, height](点),例如游戏棋盘
then_settleNo顺带返回界面前最多等几秒让界面稳定(不超过 10)。游戏、地图按画面是否静止判断,消除连锁等长动画可调大,画面一静止就返回

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does deliver one genuinely non-obvious behavior: when a passcode is set, operations after lock auto-unlock. It omits other relevant traits — that home backgrounds the running app, that volume presses are silent/side-effecting, and it never mentions the `then` post-action chaining that is the tool's main efficiency feature.

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?

One compact sentence with the key list front-loaded and no filler; the parentheticals earn their place by explaining each button. It is arguably too terse given the omitted `then` chaining, but there is no wasted wording.

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?

For a 5-parameter, no-annotation, no-output-schema tool, the description covers the core action and one important side effect, but says nothing about what comes back when `then` is used, nor about how the key press affects the foreground app. Adequate minimum viable, not complete.

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 already 80%, but the description still adds meaning for the required `button` values (home = 回主屏幕, lock = 锁屏 + auto-unlock consequence) rather than just restating the enum. The optional then/then_filter/then_region/then_settle parameters are left entirely to the schema.

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+resource (按硬件键 / press a hardware button) and enumerates the four allowed keys, which cleanly distinguishes it from touch siblings like iphone_tap, iphone_long_press and iphone_swipe. It does not explicitly say 'this is not a screen tap', but the hardware-key framing is unambiguous.

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?

Usage is only implied by parenthetical glosses: home is for returning to the home screen, lock is for locking. There is no explicit when-to-use/when-not guidance (e.g. use lock before iphone_launch_app, or prefer iphone_terminate_app over home for killing an app), so the agent must infer context.

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