List Android devices
android_list_devicesList all Android devices and emulators connected via adb, showing model, Android version, screen size, and connection state to identify ready devices and detect unauthorized or offline ones.
Instructions
List every Android device and emulator currently visible to adb, with model, Android version and screen geometry.
Call this first in any session: other tools need a serial when more than one device is attached, and this is where devices in a bad state (unauthorized, offline) surface.
Args:
detailed (boolean): also query each device for Android version, SDK level, screen size, density and rotation. Costs one extra adb round trip per device (default: true)
response_format ('markdown' | 'json'): output format (default: 'markdown')
Returns: { "count": number, "devices": [ { "serial": string, // e.g. "R3CN70XXXXX" or "192.168.0.12:5555" "state": string, // "device" = ready; "unauthorized" / "offline" = not usable "wireless": boolean, // connected over TCP/IP rather than USB "model": string, "androidVersion": string, // when detailed=true, e.g. "14" "sdkLevel": number, // when detailed=true, e.g. 34 "screenSize": string, // when detailed=true, e.g. "1080x2340" "density": string, // when detailed=true, e.g. "420" "rotation": number // when detailed=true, degrees: 0/90/180/270 } ] }
Examples:
Use when: starting work and you need a serial for the other tools
Use when: an install failed and you want to check the device is still authorized
Don't use when: you already have a serial and just want app logs (use android_logcat)
Error Handling:
Returns an empty device list rather than an error when nothing is plugged in
Devices in state 'unauthorized' need the on-screen "Allow USB debugging?" prompt accepted
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Query per-device properties (version, screen size, rotation). | |
| response_format | No | Output format: 'markdown' for human-readable, 'json' for machine-readable. | markdown |