Skip to main content
Glama

ios_launch

Open an iOS app by bundle ID on a simulator or real iPhone. Set relaunch to true to restart the app from scratch instead of resuming it.

Instructions

Open an app by bundle ID (see ios_apps). relaunch=True restarts it from scratch.

Input Schema

NameRequiredDescriptionDefault
deviceNo
relaunchNo
bundle_idYes

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 it does disclose one real behavioral trait: relaunch=True restarts the app from scratch rather than bringing it to foreground. It is silent on whether the call blocks until the app is running, what happens if the app is not installed, and whether device defaults to a currently booted simulator.

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, the core action is front-loaded, and the pointer to ios_apps is inlined rather than padded into a separate sentence. Nothing is wasted.

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 simple three-parameter launch tool with no output schema and no annotations, the description covers the essential action but leaves the device parameter, failure behavior, and post-launch state undocumented. It is adequate but not complete.

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 coverage is 0%, so the description must compensate: it explains bundle_id (app identifier, discoverable via ios_apps) and relaunch (fresh restart). The third parameter, device, gets no explanation at all, leaving a clear gap.

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 ('Open an app') plus the identifying mechanism ('by bundle ID'), which is enough to separate it from listing tools like ios_apps. It does not explicitly contrast with siblings such as ios_open_url or ios_boot, so it falls short of a 5.

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 parenthetical '(see ios_apps)' gives a concrete prerequisite for obtaining the bundle ID, and relaunch is framed as an option. However, nothing says when to prefer this over ios_open_url (deep links) or how it relates to ios_terminate, so usage is only implied.

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