LABSCO SUMMARY
Refs come from the latest diff, and that rule is what keeps runs from drifting.
After a --settle command the ids in its diff are the valid ones; taking a fresh snapshot is the exception, not the habit. The other thing worth knowing before you rely on it: snapshots come from the app's accessibility tree, so apps with weak labels and missing test IDs will automate badly — screenshots and video are the fallback and the evidence, not the primary input.
What it is
Mobile app automation and verification built for coding agents, available as a CLI, a built-in MCP server and a typed Node.js API — all three over the same execution path. Agents read token-efficient accessibility snapshots rather than reasoning over screenshots, and act through refs and selectors.
What you get
- App state inspected through accessibility snapshots with element refs, selectors, and React Native component trees
- Actions on visible UI: tapping and pressing, filling fields, scrolling, gestures, waiting, asserting state and handling alerts
- Failure diagnosis with screenshots, video, logs, traces, network data, performance samples, crash details and React profiles
- Workflows saved as
.adscripts for local use or CI, exportable to strict Maestro YAML - Coverage across iOS, Android and HarmonyOS on simulators, emulators and physical devices, plus tvOS, Android TV, Amazon Vega OS TV, web, macOS and Linux
- Device access coordinated across parallel agent worktrees, and connections to remote device clouds
--settlediffs after each command, so the next step uses the refs from that diff instead of a fresh snapshot- The same commands as MCP tools via
agent-device mcp, or as a typed client throughcreateAgentDeviceClient()
Requirements
npm install -g agent-device@latest, then agent-device doctor — the README asks you to run that yourself before handing the CLI to an agent. Node.js 22.12 or newer; web automation needs Node.js 24 or newer. The MCP server is a stdio server started with agent-device mcp. Per-target requirements (simulators, devices, toolchains) are covered in the installation docs. MIT licensed; the published package is agent-device.
Setup effort
One command — npm install -g agent-device@latest
USE CASES
01
Letting a coding agent check its own change in the running app
Open the app, snapshot the screen, act on the refs, and confirm the new behaviour — the loop closes without a human driving the device.
02
Producing evidence for a bug report
Capture screenshots and video alongside logs, traces, network data and crash details, so the report carries proof rather than a description.
03
Turning a working manual sequence into a repeatable check
Save the steps as an .ad script for local use or CI, and export strict Maestro YAML if your pipeline needs it.
04
Running several agents against limited devices
Let it coordinate device access across parallel worktrees, or point it at a remote device cloud instead of fighting over the one simulator.
BEFORE YOU INSTALL
What to know first
Requires
agent-device on PATH
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
npm install -g agent-device@latestMCP Clients
Claude Code, Cursor, Windsurf, Cline
JSON
{
"mcpServers": {
"agent-device": {
"command": "agent-device",
"args": [
"mcp"
]
}
}
}