Skip to main content
Glama

uninstall

Remove an installed app from the selected device. A package name or bundle id that is not installed succeeds with wasInstalled: false. Times out after 180s.

Instructions

Remove an installed app from the selected device. A package name or bundle id that is not installed succeeds with wasInstalled: false. Times out after 180s.

Input Schema

NameRequiredDescriptionDefault
appYesPackage name, bundle id, or installed app name.
udidNoApple device or simulator UDID; the selector that pins one device when several share a name.
debugNoEnable debug diagnostics.
runIdNoLease run identifier.
deviceNoDevice name selector (a UDID belongs in udid, a serial in serial).
serialNoAndroid, HarmonyOS, or Vega VVD serial selector.
targetNoAlias for deviceTarget on commands without a UI target field. Interaction commands reserve target for the UI element.
tenantNoRemote tenant identifier.
leaseIdNoExisting lease identifier.
sessionNoAgent-device session name.
noRecordNoDo not record this action.
platformNoPlatform selector used to resolve a device.
includeCostNoInclude per-command agent-cost (cost.wallClockMs, …) in structuredContent. Defaults to off; the default response shape is unchanged.
deviceTargetNoDevice target form. Maps to the CLI --target flag.
responseLevelNoResponse verbosity: token-cheap digest / default (today) / full. Defaults to default; the default response shape is unchanged.
mcpOutputFormatNoMCP text content format. Defaults to optimized agent-friendly text; use json for JSON text. Structured content is always returned separately.
androidDeviceAllowlistNoAndroid serial allowlist used for device resolution.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.21.29

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 full burden; it does disclose two genuinely useful traits beyond the schema: idempotent-ish success with wasInstalled: false and a 180s timeout. However, it says nothing about whether app data/state is destroyed, permission or auth requirements, or failure modes other than timeout — significant gaps for a destructive operation.

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?

Three short sentences, all load-bearing, with the core action front-loaded and the edge case and timeout following. No filler or restatement of the tool name.

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 17-parameter tool with no annotations and no output schema, the description covers the action and one edge case but leaves device-selection mechanics, result shape beyond wasInstalled, and failure behavior to the schema. Adequate but with clear gaps.

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 100% and the schema itself explains app, udid, device, serial, and the target aliases, so the baseline is 3. The description's 'package name or bundle id' merely echoes the app parameter and adds no selector-resolution detail across the other 16 optional parameters.

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?

States a specific verb and resource ('Remove an installed app from the selected device'), and the scope (single selected device) makes it easy to tell apart from install, reinstall, and install-from-source. An agent can pick this without opening the schema.

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 verb, and the not-installed case clarifies one edge condition, but there is no explicit guidance on when to prefer uninstall over reinstall, or on prerequisites such as an active session/lease. The agent must infer the surrounding workflow.

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