Skip to main content
Glama
Derrors

iPhone Control MCP Server

iphone_launch_app

Launch an app on a connected iPhone and bring it to the foreground by Bundle ID or display name, so AI agents can open the app they need to control.

Instructions

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

Input Schema

NameRequiredDescriptionDefault
appYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the load and does disclose a real behavioral trait: the app is brought to the foreground, not merely started. It says nothing about failure behavior (app not installed, ambiguous name match), permission requirements, or whether launching an already-running app restarts it or just focuses it.

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 short sentences, no waste, with the action stated first and the parameter format immediately after. Perfectly front-loaded for a single-parameter tool.

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 one-parameter tool with no output schema and no annotations, the description covers the essential action and the accepted input formats. The remaining gap is edge-case behavior (not-installed, ambiguous names), which is minor but would help an agent recover from failures.

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 0%, so the description must compensate, and it does: the single `app` parameter is documented as accepting either a Bundle ID or a display name, with concrete examples ("Settings", "WeChat"). This resolves the main ambiguity an agent would face, though it doesn't say which form is preferred or how to disambiguate duplicate display names.

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: launch an app and bring it to the foreground. That scope distinguishes it from iphone_terminate_app and iphone_list_apps, though it never names those siblings explicitly.

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 implied by the action itself (call this to get an app running in front), but there is no explicit guidance on when to prefer it over iphone_open_url or iphone_list_apps, and no statement about what happens if the app is already running. The agent must infer the routing.

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