Skip to main content
MCP server CX Codex

Mobile Device MCP — Claude Code MCP server for iOS and Android control

Gives your agent hands on a phone: taps, scrolling, typing, screenshots and UI tree reads across several devices at once.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add mobile-device-mcp -- npx -y @srmorete/mobile-device-mcp
Open on GitHub

What Mobile Device MCP does

The server runs a small HTTP driver on each device — UIAutomator on Android, XCUITest on iOS — and forwards tool calls to it. Raw UI trees from both platforms get normalised into one flat element list, so the agent never deals with platform differences. A device is prepared on first use: the driver app is installed, a port is picked, the on-device server starts and gets polled until healthy. From then on traffic stays on localhost, with a bearer token per device.

The tool set covers a normal session: list_devices, screenshot, uitree, tap, double_tap, long_press, scroll, type_text, press_button, launch_app, terminate_app, list_apps, install_app and run_code. That last one executes JavaScript in a sandbox — Rhino with UIAutomator bindings on Android, JavaScriptCore with XCUITest bindings on iOS. Runaway scripts get killed, and every call starts from a fresh sandbox.

Node.js 18+ is required. Android needs the Android SDK with adb on PATH; without it no device shows up. iOS simulators need Xcode with xcrun and simctl, real devices also xcodebuild, devicectl and iproxy from libimobiledevice. Default ports are 18000 for Android and 19000 for iOS, handed out in sequence — override them with MDMS_PORT_ANDROID and MDMS_PORT_IOS if those are taken.

What it helps with

  • walk an app through its screens on a real handset
  • grab a screenshot plus the element list to debug layout
  • type and press buttons without driving the emulator by hand
  • install an .apk or .app and launch it from the agent
  • check behaviour on several devices in one run

Example prompts for the agent

  • List the connected devices and take a screenshot of the first Android one
  • Find the login button in uitree and tap it
  • Launch the app by package name and type into the search field

How to install Mobile Device MCP

Platform CLI

claude mcp add mobile-device-mcp -- npx -y @srmorete/mobile-device-mcp

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Mobile Device MCP

How do I install Mobile Device MCP in Claude Code?

Run claude mcp add mobile-device-mcp -- npx -y @srmorete/mobile-device-mcp. For custom ports, pass -e MDMS_PORT_ANDROID=20000 -e MDMS_PORT_IOS=21000 before the --.

What does Mobile Device MCP do?

It drives iOS and Android from an agent: taps, swipes, text input, hardware buttons, screenshots, UI trees, app install and launch. Multiple devices can be handled at the same time.

What does Android support require?

The Android SDK with adb on PATH. Without it the server cannot find a device or push the driver.

Similar MCP servers

Everything for Mobile →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor