Open source project by Mobile Next (
mobile-next/mobile-mcp, Apache-2.0).
Why use it?
Checking how a mobile app actually behaves usually means tapping through a simulator by hand, or writing scripts in a different framework per platform (XCUITest on iOS, Espresso on Android). A coding agent can change the app’s code, but it can’t see or drive the result on a device.
Mobile MCP gives the agent that ability. It interacts with native iOS/Android applications and devices through structured accessibility snapshots, or coordinate-based taps based on screenshots, and the same tools work on every target, so no platform expertise is required.
What you can do with it
The README lists these main use cases:
- Native app automation (iOS and Android) for testing or data-entry scenarios
- Scripted flows and form interactions without manually controlling simulators/emulators or real devices (iPhone, Samsung, Google Pixel etc)
- Automating multi-step user journeys driven by an LLM
- General-purpose mobile application interaction for agent-based frameworks, including data extraction
In a development loop, after changing the app you can ask the agent to “open the login screen on the simulator, sign in with the test account, and navigate to Settings.” The agent lists the elements on screen, taps and types its way through each step, and checks the result. If the app crashes along the way, it can pull device logs and crash reports.
Key features
-
Accessibility-first: fast and cheap
Drives apps from the native accessibility tree (no vision model, no image tokens), falling back to screenshots + coordinates only when needed.
-
One API, every target
The same tools work across iOS and Android: iOS Simulator, iOS real device over USB, Android Emulator, and Android real device with USB debugging.
-
Full device control
Taps, double taps, long presses, swipes, typing, hardware buttons (HOME, BACK, VOLUME_UP/DOWN, ENTER), orientation, GPS location override, and clipboard. App install (
.apk,.ipa,.app,.zip), launch, terminate, and uninstall. -
Screen recording, logs, and crash reports
Record the device screen to a video file, collect live device logs (logcat on Android, unified log on iOS), list crash reports, and fetch the full content of a crash report.
-
Batch commands
mobile_batch_commandsruns multiple tools in sequence in a single call (e.g. click, type, click), optionally listing screen elements at the end.
How to use
Prerequisites: node.js v20+, plus Xcode command line tools for iOS and Android Platform Tools (adb) for Android.
Add it to Claude Code:
claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest
For Claude Desktop and other MCP clients, use the standard config:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
Start a simulator or emulator first. For iOS, boot one with xcrun simctl boot "iPhone 16". Then verify it works by asking your agent:
list available devices
You should get back your running simulators, emulators, and connected devices. If the list is empty, make sure a simulator or emulator is running.
Notes
- Telemetry is on by default — Mobile MCP collects anonymous usage telemetry via PostHog and Scarf (tool name and duration on each call). Add
"MOBILEMCP_DISABLE_TELEMETRY": "1"to theenvblock of your config to disable it. - Platform requirements — iOS Simulators on macOS/Linux, Android Emulators on Linux/Windows/macOS. Real iOS devices must be connected over USB and trusted; Android devices need USB debugging enabled and authorized.
- Streamable HTTP mode — It runs over stdio by default.
--listen 3000starts a Streamable HTTP server instead. WithoutMOBILEMCP_AUTH, the server accepts unauthenticated connections, so set a token before exposing it. - Repeatable tests — For turning agent-driven exploration into repeatable, deterministic tests, the authors point to mobilewright.
- Cloud devices are optional — The four remote-device tools are for Mobile Next Cloud, which rents real iOS and Android devices. They aren’t needed for local devices.
- Source — mobile-next/mobile-mcp (Apache-2.0).