Skip to main content
Glama

start_adb_app

Destructive

Launches an installed Android app by resolving and starting its declared launcher activity, enabling dynamic-analysis workflows with ADB logcat and process observation.

Instructions

Start one installed app by launching its declared launcher activity: the component is resolved through cmd package resolve-activity --brief, then started with am start -n. A device-mutating tool for dynamic-analysis workflows; pair with read_adb_logcat (pid filter) and list_adb_processes to observe the started app, and stop_adb_app to end the run.

Input Schema

NameRequiredDescriptionDefault
serialYesDevice serial exactly as `adb devices` reports it
packageYesInstalled package whose launcher activity is started
analysis_project_idNoOptional investigation to retain this tool result in. Does not prove target identity or causal relationships.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and non-idempotent, so the safety profile is covered; the description adds real value on top by explaining the two-step resolution/launch mechanism and the observation workflow. It stops short of warning about failure modes (no declared launcher activity, app not installed) or what state is left behind on the device.

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 sentences, front-loaded with the core action and mechanism, then the workflow pairing. No restated name, no filler, and the companion tools are grouped compactly with their purpose in parentheses.

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?

With no output schema, the description never says what the call returns (e.g. the resolved component name or start confirmation), which matters for a launch tool whose success can be ambiguous. The workflow hints partially compensate, but an agent still has to discover the response shape and the failure behavior by trial.

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 description coverage is 100%, with `serial`, `package`, and `analysis_project_id` all documented in the schema. The description reinforces that `package` must be an installed package with a launcher activity, but adds no format or edge-case detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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 ('Start one installed app') and pins down the exact mechanism: the declared launcher activity resolved via `cmd package resolve-activity --brief` and launched with `am start -n`. That mechanism distinguishes it in practice from `start_adb_activity`, but the sibling is never named, so the differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Frames the tool for dynamic-analysis workflows and names concrete companions: `read_adb_logcat` (pid filter) and `list_adb_processes` to observe the app, `stop_adb_app` to end the run. Clear context, but it never states the alternative case (e.g. when to use `start_adb_activity` for an arbitrary intent instead).

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

Deploy Server

Other Tools