agent-device

Lets a coding agent drive and verify mobile, TV, desktop and web apps on simulators, emulators and devices.

By Callstack TypeScript Local · stdio TestingDeveloper tools

101 popularity score ★ 5.3k ↓ 684k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add agent-device -- npx -y agent-device mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device",
        "mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device",
        "mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-device": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agent-device",
        "mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-device]
command = "npx"
args = ["-y", "agent-device", "mcp"]
Gemini CLITerminal
gemini mcp add --scope user agent-device npx -- -y agent-device mcp

Settings 1

AGENT_DEVICE_NO_UPDATE_NOTIFIER Optional: Set to 1 to turn off the npm update notice.

What it does

agent-device, from Callstack, lets a coding agent inspect, control and verify a running app so it can check its own changes. It works with iOS, Android and HarmonyOS on simulators, emulators and physical devices, plus tvOS, Android TV, Amazon Vega OS TV, web, macOS and Linux desktop apps.

The agent reads accessibility snapshots of the screen instead of reasoning over screenshots alone, acts on elements by ref or selector (tap, fill, scroll, swipe, gestures, alerts), asserts state, and saves evidence: screenshots, video, logs, traces, network data, performance samples, crash details and React Native component trees. Working steps can be saved as .ad replay scripts for CI or exported as Maestro YAML. Sessions are scoped to the git worktree so parallel agents do not take over each other's simulators, and the same commands can drive devices on BrowserStack, AWS Device Farm and Limrun.

It is one tool with three entry points: a CLI, a typed Node.js API, and a stdio MCP server started with agent-device mcp, which exposes the installed commands as structured tools and an MCP-only help tool. Install it with npm install -g agent-device (Node.js 22.12 or newer; 24 for web). Platform tooling such as Xcode or ADB is needed for the targets you use.

Tools 37

open
Open an app or URL on a target device or platform and start a session.
close
Close the session.
snapshot
Capture an accessibility snapshot of the current screen with refs for elements.
diff
Show what changed in the snapshot since the last one.
screenshot
Save a screenshot as evidence.
press
Tap or press an element by ref or selector, or at coordinates.
click
Click an element (web and desktop targets).
fill
Type a value into a text field.
type
Type text.
hover
Hover over an element.
scroll
Scroll the screen.
swipe
Swipe on the screen.
gesture
Perform gestures such as pinch or multi-touch.
longpress
Long-press an element.
back
Go back.
home
Go to the home screen.
find
Find elements semantically, for example by text, and act or assert on them.
get
Read an element's text or attributes.
is
Assert an element's state, such as visible.
wait
Wait for text or an element to appear.
alert
Read or handle system alerts.
apps
List installed apps.
install
Install an app build in place.
reinstall
Reinstall an app for a fresh state.
devices
List available devices, simulators and emulators.
settings
Change device settings such as Wi-Fi.
clipboard
Read or write the device clipboard.
keyboard
Control the on-screen keyboard.
push
Simulate a push notification.
logs
Stream and read app logs for the session.
network
Dump network traffic seen by the app.
perf
Sample performance data such as frames and memory.
record
Record a video of the session.
trace
Record a trace.
replay
Run a saved .ad replay script.
batch
Run several commands in one call.
help
Return usage guides for commands and topics.

Similar servers