# Agent Device MCP server

> Drive iOS and Android apps on simulators, emulators and devices so coding agents can verify their changes.

- Listing: https://mcp.tc/i/agent-device
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Developer Tools](https://mcp.tc/c/developer-tools)
- Vendor: Callstack
- Homepage: <https://oss.callstack.com/agent-device/>
- Repository: <https://github.com/callstack/agent-device>
- Package: npm `agent-device`

## About

Agent Device lets coding agents inspect, control, debug and verify apps on iOS, Android and HarmonyOS simulators, emulators and physical devices. It also targets tvOS, Android TV, Vega OS, web, macOS and Linux. Agents read accessibility snapshots, act through refs and selectors, and save screenshots, video, logs and traces as evidence.

It runs locally as a stdio server started with agent-device mcp, using the same execution path as the CLI. No sign-in or API key is needed. It requires Node.js 22.12 or newer, and web automation needs Node.js 24 or newer. A CLI and a typed Node.js API are also available.

## What it can do

- Open apps and inspect screens through accessibility snapshots
- Tap, fill, scroll and run gestures using refs and selectors
- Capture screenshots, video, logs, traces and network data
- Profile performance and inspect React Native component trees
- Save workflows as replay scripts for CI
- Target simulators, emulators, physical devices, TV, web and desktop

## Example prompts

- "Run the onboarding screen on the iOS simulator and attach screenshots."
- "Reproduce this crash on the Android emulator and capture the logs."
- "Check whether this change causes extra React Native re-renders."
- "Explore the checkout flow and save it as a replay script for CI."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio agent-device -- npx -y agent-device@latest mcp
```

2. Start Claude Code and type `/mcp`. **agent-device** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device@latest",
        "mcp"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=agent-device&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImFnZW50LWRldmljZUBsYXRlc3QiLCJtY3AiXX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device@latest",
        "mcp"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=agent-device&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22agent-device%40latest%22%2C%22mcp%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"agent-device","type":"stdio","command":"npx","args":["-y","agent-device@latest","mcp"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "agent-device": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agent-device@latest",
        "mcp"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device@latest",
        "mcp"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add agent-device -- npx -y agent-device@latest mcp
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.agent-device]
command = "npx"
args = ["-y", "agent-device@latest", "mcp"]
```

Needs Node.js on your computer.

### Gemini CLI

```bash
gemini mcp add agent-device npx -- -y agent-device@latest mcp
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "agent-device": {
      "command": "npx",
      "args": [
        "-y",
        "agent-device@latest",
        "mcp"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer.

## Details

- Server version: 0.21.18
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/agent-device (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
