
agent-device MCP Server: Setup for Claude Code, Cursor and Other Apps
Lets Claude, Cursor and Codex open and use mobile, TV, desktop and web apps on simulators and devices, so they can check their own changes.
agent-device lets your coding agent open an app, read the screen, tap, type and scroll, then take a screenshot to prove it worked. It works on iOS, Android, TVs, macOS, Linux and web, on simulators, emulators and real devices. The agent reads a short list of labelled items on screen rather than a full image.
It is made by Callstack and runs on your computer. The MCP server comes with the npm package, so you install the package first and then start it with the mcp command. The list of tools on this page is partial, because the server builds its tools from the CLI's commands.
Good for
- Mobile developers who want an agent to try its changes in a running app
- QA engineers reproducing crashes and attaching screenshots and logs
- Teams turning a working flow into a replay script for CI
- React Native developers checking for slow renders
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install agent-device MCP
Claude Code
- 1
Copy this prompt.
Add the agent-device MCP server to Claude Code. Run this command: claude mcp add agent-device -- agent-device mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 22.12+, npm install -g agent-device.
Built from the package data we hold. Not yet tested by us.
Tools
Opens an app on a phone, tablet, TV or desktop and shows its screen
Starts a session and opens the named app on a simulator, emulator or device. It returns the first snapshot of tappable items, each with a reference like @e2.
Try: “Open the Contacts app on the iOS simulator.”
Runs code ·
openReads what is on screen as a list of labelled items
Reads the app's accessibility tree and returns buttons, fields and text with short references the agent can act on. This uses fewer tokens than a screenshot.
Try: “What is on the screen right now?”
Read ·
snapshotTakes a picture of the screen
Saves a screenshot, useful as evidence or when the accessibility data is poor.
Try: “Take a screenshot of the checkout screen.”
Files ·
screenshotTaps a button or item
Presses an item by its reference, label or coordinates. With settle on, it returns what changed on screen afterwards.
Try: “Tap the Add button.”
Write ·
pressClicks an item
Clicks an item by reference or selector. The server guide lists it alongside press.
Try: “Click the Sign in button.”
Write ·
clickTypes text into a field
Fills a text field with the text you give it. It returns what changed on screen.
Try: “Fill the first name field with Ada.”
Write ·
fillPresses and holds an item
Long-presses an item by reference or selector.
Try: “Long-press the first message in the list.”
Write ·
longpressMoves the pointer over an item
Hovers over an item by reference or selector.
Try: “Hover over the Settings menu.”
Write ·
hoverScrolls the screen
Scrolls in a direction, or until a named item is on screen. The direction bottom runs to the end of the content.
Try: “Scroll down until the Delete account button is visible.”
Write ·
scrollGoes back one screen
Navigates back in the app.
Try: “Go back to the previous screen.”
Write ·
backLists simulators, emulators and connected devices
Lists the devices the agent can control. Used when the app id or target is unknown.
Try: “Which devices can you control?”
Read ·
devicesLists apps installed on a device
Lists apps on the chosen device so the agent can find the right app id instead of guessing.
Try: “Which apps are installed on the Android emulator?”
Read ·
appsChecks which app is in front
Reports the state of the app on the device.
Try: “Which app is open right now?”
Read ·
appstateEnds the session
Closes the session when the agent is done.
Try: “Close the session.”
Write ·
closeShows usage guides for the other tools
Returns the usage guide, or the full flag reference for one tool. It is meant for unusual work, not for startup.
Try: “Show me the help for the scroll tool.”
Read ·
help
Read from the source code
Permissions
medium risk · 4 things to watch · 4 advisories
Medium risk
The agent can act in the apps on a device as you would, including sending, changing and buying, and it sees whatever is on screen. Use a simulator or a test device with test accounts.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The agent can tap and type in any app on the device
On a real phone or a signed-in simulator it can send messages, change settings or buy things. Use a test device or a simulator with test accounts. github.com
It sees everything on screen
Snapshots and screenshots include whatever the app shows, such as messages or personal data. Close private apps before a session. github.com
No read-only mode is documented
The README does not describe a way to limit the server to read tools. Keep an eye on the agent while it runs. github.com
It drives devices through local tooling and the CLI's other commands
The README says it uses ADB on Android, XCTest on iOS and tvOS, HDC on HarmonyOS, Vega CLI on Vega devices and local helpers on macOS and Linux. The server builds its tools from the CLI command list, so the full set, which can include commands beyond the 15 listed here, is wider than this page shows. Check the help tool before giving it a device with real data. github.com
Security advisories
4 known advisories, all fixed in a newer version.
- screenshot/record/perf output paths are not restricted for remote callers, allowing arbitrary file writes of PNG/video/trace content on the daemon hosthigh · Fixed in 0.21.35 · GHSA-xr68-vpwv-cgg9
- Maestro runScript bypasses the trustedScripts gate on remote flows and passes script paths through unchecked, allowing arbitrary host file reads and execution of host file contents in node:vmhigh · Fixed in 0.21.35 · GHSA-6845-fcpx-jc45
- iOS physical-device runner listens on all interfaces without authentication (reachable over Wi-Fi)high · Fixed in 0.21.25 · GHSA-f98f-hj3g-xmp4
- agent-device Project Config Redirects Remote Daemon Credentialsmedium · Fixed in 0.20.4 · GHSA-m7q5-6423-2mwq
Technical details
| Sign-in and keys | No account or API key for local use. The README mentions optional remote and cloud devices that use a separate config. |
|---|
Questions
Is agent-device official?
It is made by Callstack, and its README calls the MCP server the official stdio server of agent-device. It is not made by Apple, Google, Anthropic or an editor vendor.
Which devices and platforms does it support?
iOS, Android and HarmonyOS on simulators, emulators and real devices, plus tvOS, Android TV, Fire TV, Amazon Vega OS TV, web, macOS and Linux. Web automation needs Node.js 24 or newer.
Do I need an API key?
No. It runs locally with no account. The README also describes optional remote and cloud device setups with their own configuration.
Why does the install box use agent-device mcp?
The MCP server starts with the mcp command of the agent-device package. The README shows it as a global install followed by that command. The install box also has an npx variant that adds the same command.
Should I use MCP or the CLI?
Both reach the same commands. The README links an agent setup guide that says when plain CLI is better than MCP, so check it if you use an agent that can run shell commands.
Does the tool list show everything?
No. The server builds its tools from the CLI command registry, so the list here is the set the README and server guide name. Run the help tool in your client for the complete list.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
agent-device- Registry
- npm
- Transport
- stdio
- Version
- 0.21.35
- License
- MIT
- Last commit
- Oct 31, 2026
- Open issues
- 84
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com