srmorete avatar

Mobile Device MCP

srmorete/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 tools

Public 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:

  1. 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.
  2. UI tree filter — Normalizes raw UI trees from both platforms into a unified flat element list.
  3. 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


View the full README on GitHub

Details

Repository
github.com/srmorete/mobile-device-mcp
Category
Mobile Development
Package
@srmorete/mobile-device-mcp
Transport
STDIO
Registry
MCP registry, active

Related Mobile Development MCP servers

View all
1us-all avatarAndroidus-all/android-mcp-serverAndroid MCP — ADB-based device, apps, UI, logcat, emulator, files, system, debug16stars
2saranshbamania avatarMobile Device Mcpsaranshbamania/mobile-device-mcpAI control of Android/iOS devices. Screenshots, UI tree, AI vision, Flutter, video. 49 tools.1stars
3appium avatarAppiumappium/appium-mcpMCP Appium provides cross-platform mobile automation with intelligent locators, session management, and test generation.355stars
4minhalvp avatarAndroidminhalvp/android-mcp-serverAn MCP server that provides control over Android devices via adb750stars
5martingeidobler avatarAndroidmartingeidobler/android-mcp-serverControl Android devices and emulators via ADB — screenshots, UI automation, and logcat.46stars
6ethanackerman-git avatarPreflight Ios Mcpethanackerman-git/preflight57 tools for AI-powered iOS Simulator automation — tap, swipe, type, screenshots, and more.0stars