Skip to main content
Glama

list_adb_devices

Idempotent

List attached Android devices as ADB reports them, including serial, state, transport, model metadata, and emulator vs physical evidence; starts local ADB server if needed.

Instructions

List attached devices exactly as adb devices -l reports them: serial, state, transport, model metadata, and an inferred emulator/physical kind with its evidence basis. Emulators and USB or network devices appear alike; REA neither starts nor manages them. May start the local adb server on first use.

Input Schema

NameRequiredDescriptionDefault
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.8/5.0
Behavior4/5

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

Adds real value beyond annotations: it discloses that REA neither starts nor manages emulators (scope limitation) and that the first call may start the local adb server — which usefully explains why readOnlyHint is false for a 'list' tool. Returned-field shape is also disclosed. Minor gap: no mention of failure behavior if no devices are attached or the adb server cannot start.

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 sentences, front-loaded with the core identification ('adb devices -l' parity) before scope and side-effect caveats. No filler and no repetition of what the schema or annotations already state.

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?

There is no output schema, and the description compensates by enumerating the fields returned, so an agent knows what to expect. Combined with the scope and adb-server side-effect notes, it is nearly complete; only error/empty-state behavior is unaddressed.

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% for the single optional analysis_project_id, so the schema already carries the parameter meaning. The description says nothing about that parameter or its retention semantics, so the baseline 3 applies rather than a higher score.

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 ('List attached devices exactly as `adb devices -l` reports them') and even enumerates the returned fields (serial, state, transport, model metadata, inferred kind), which is far beyond a tautology. It implicitly separates from the sibling inspect_adb_device (single-device deep dive) but never names it, so sibling differentiation is left to inference.

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 description establishes context — it lists whatever is attached, emulators and USB/network alike — which implies when to call it. However, it never states when to prefer it over inspect_adb_device or inspect_adb_client, nor any preconditions such as a reachable adb server beyond the note that one may be started.

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