Skip to main content
Glama
Derrors

iphone-control

iphone_launch_app

Launch an iPhone app by Bundle ID or display name and bring it to the foreground; optionally return UI elements or a screenshot after the interface stabilizes.

Instructions

启动 App 并切到前台。app 可以是 Bundle ID,也可以是显示名(如「设置」「微信」)。

Input Schema

NameRequiredDescriptionDefault
appYes
thenNo操作后等界面稳定,再顺带返回界面:elements=元素列表(最多 80 个),screenshot=截图。省一次单独的调用none
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

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It reveals one genuinely useful trait, that `app` accepts either a Bundle ID or a display name, but says nothing about behavior if the app is not installed, whether an already-running instance is reused versus cold-launched, what permissions or device state are required, or what the default call returns.

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?

Two compact sentences, front-loaded with the core action, with no redundant wording. The identifier-format detail is placed immediately after the action, which is the right position for it.

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?

There is no output schema, and the description does not explain what a plain call with the default `then=none` returns. For a 5-parameter tool with conditional side-effect behaviors, that leaves an important gap, although the schema itself documents the optional follow-up parameters thoroughly.

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 description coverage is high at 80%, so the baseline is 3, and the description adds real meaning for the one undocumented parameter: `app` accepts either a Bundle ID or a display name such as 「设置」 or 「微信」. The `then`-family parameters are already well documented in the schema, so no repetition is needed.

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 and resource: "启动 App 并切到前台" (launch app and bring it to foreground). It also clarifies the accepted identifier forms for `app`, which lets an agent tell it apart from siblings like iphone_terminate_app or iphone_open_url. It stops short of naming an alternative tool explicitly, so no sibling differentiation is spelled out.

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?

The use case (start an app and put it in the foreground) is self-evident from the verb, and the schema's `then` parameter documentation describes the follow-up behaviors. However, there is no explicit statement of when to prefer this over iphone_open_url or iphone_batch, and no prerequisites such as the device being unlocked or the app being installed.

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