
Mobile Device MCP
Gives Claude direct control over iOS and Android devices through a three-layer architecture: on-device HTTP servers (UIAutomator/XCUITest), a unified UI tree normalizer, and the MCP interface. You get screenshot capture, UI tree inspection with filtering, tap/scroll/type interactions, and app lifecycle management across multiple devices simultaneously. The run_code tool lets agents execute sandboxed JavaScript that mirrors native UIAutomator and XCUITest APIs for more complex workflows. Reach for this when you need Claude to test mobile apps, automate device interactions, or debug UI issues across real devices and simulators. Requires adb for Android and Xcode tooling for iOS, with automatic driver installation and port allocation on first use.
- GitHub stars
- 54
- tools
- 14
- transport
- STDIO
- last updated
- Jul 31, 2026
Tools
14 toolsPublic tool metadata for what this MCP can expose to an agent.
list_devicesList available iOS and Android devices
List available iOS and Android devices
No parameter schema in public metadata yet.
screenshotCapture the device screen (JPEG)
Capture the device screen (JPEG)
No parameter schema in public metadata yet.
uitreeGet the UI element tree as a flat list, with optional search and limit. Off-screen elements are excluded unless `include_invisible: true`
Get the UI element tree as a flat list, with optional search and limit. Off-screen elements are excluded unless `include_invisible: true`
No parameter schema in public metadata yet.
tapTap at screen coordinates
Tap at screen coordinates
No parameter schema in public metadata yet.
double_tapDouble-tap at screen coordinates
Double-tap at screen coordinates
No parameter schema in public metadata yet.
long_pressLong-press at screen coordinates (configurable duration)
Long-press at screen coordinates (configurable duration)
No parameter schema in public metadata yet.
scrollSwipe from start to end coordinates
Swipe from start to end coordinates
No parameter schema in public metadata yet.
type_textType text into the focused element
Type text into the focused element
No parameter schema in public metadata yet.
press_buttonPress a hardware/navigation button (home, back, enter, volumeUp/Down, dpadUp/Down/Left/Right/Center)
Press a hardware/navigation button (home, back, enter, volumeUp/Down, dpadUp/Down/Left/Right/Center)
No parameter schema in public metadata yet.
launch_appLaunch an app by bundle ID / package name
Launch an app by bundle ID / package name
No parameter schema in public metadata yet.
terminate_appForce-stop an app
Force-stop an app
No parameter schema in public metadata yet.
list_appsList installed apps
List installed apps
No parameter schema in public metadata yet.
install_appInstall an app from a host-local file (`.apk` for Android, `.app` for iOS simulator, `.app`/`.ipa` for iOS device). Replaces existing installs
Install an app from a host-local file (`.apk` for Android, `.app` for iOS simulator, `.app`/`.ipa` for iOS device). Replaces existing installs
No parameter schema in public metadata yet.
run_codeExecute sandboxed JavaScript on-device
Execute sandboxed JavaScript on-device
No parameter schema in public metadata yet.
Sponsors
Readme
Mobile Device MCP
An MCP server that lets AI agents control iOS and Android devices (tap, scroll, type, take screenshots, read UI trees, and run code). Works with multiple devices at the same time.
How It Works
Three-layer architecture:
- On-device servers — Lightweight HTTP servers running on each mobile device (UIAutomator on Android, XCUITest on iOS) that expose the accessibility tree and accept interaction commands.
- UI tree filter — Normalizes raw UI trees from both platforms into a unified flat element list.
- MCP server — The external interface. Handles device discovery, bootstrapping, port allocation, and proxies requests to on-device servers.
Devices are bootstrapped on first use — the server installs the driver app, allocates a port, starts the on-device server, and polls until it's healthy. After that, all tool calls are proxied over localhost HTTP with per-device bearer token auth.
Tools
Details
- Repository
- github.com/srmorete/mobile-device-mcp
- Category
- Mobile Development
- Package
@srmorete/mobile-device-mcp- Transport
- STDIO
- Registry
- MCP registry, active