Mobile MCP: MCP Server for iOS and Android Automation
What Mobile MCP is
Mobile MCP is a Model Context Protocol server from Mobile Next that lets AI agents and LLMs interact with native iOS and Android apps. The README describes it as a platform-agnostic interface for mobile automation and development that removes the need for distinct iOS or Android knowledge. It runs against iOS simulators, Android emulators and real devices on both platforms, and works with any MCP-compatible client; the README names Claude Code, Codex, Gemini, GitHub Copilot and Antigravity.
The problem it addresses is that mobile automation traditionally means platform-specific frameworks and glue code: XCUITest on iOS, Espresso on Android, separate tooling for simulators and physical devices. Mobile MCP exposes one set of tools that work the same everywhere, so an agent can be told the goal in plain language and work out the taps and swipes itself. It is aimed at mobile developers who want their coding assistant to verify UI changes on a device, QA engineers exploring flows, and teams building agent-driven automation or data extraction on mobile apps.
How it works
Mobile MCP runs locally as an MCP server, launched by your client through npx. By default it communicates over stdio. When the agent calls a tool, the server talks to the target device using the platform tooling you already have installed: Xcode command line tools for iOS and Android Platform Tools (adb) for Android. The README says it is built on mobilecli, the project's universal device CLI with a JSON-RPC API; a MOBILEMCP_LEGACY_ROBOT setting switches Android devices and physical iOS devices back to legacy platform-specific robots.
The key design choice is accessibility-first interaction. Instead of sending screenshots to a vision model and clicking coordinates, Mobile MCP reads the native accessibility tree and returns structured UI elements with their properties and positions. The README says this avoids vision models and image tokens, making it faster and cheaper, and produces more deterministic output than screenshot-only approaches. Screenshots and coordinate taps remain available as a fallback when the accessibility tree is not enough.
For remote use, the server can also run as a Streamable HTTP endpoint, and a set of cloud tools connects it to real devices hosted in Mobile Next Cloud.
Key features and tools
- One API across targets: the same tools for iOS simulators, iOS real devices, Android emulators and Android real devices.
- Device management: list devices, read screen size, get and set orientation, fold foldable devices, override GPS location, and read or replace the clipboard.
- App management: list, launch, terminate, install (.apk, .ipa, .app, .zip) and uninstall apps, and get the foreground app.
- Screen interaction: list on-screen elements, tap, double-tap, long press and swipe, take or save screenshots, and record the screen to video.
- Input and navigation: type text with optional submit, press hardware buttons such as HOME, BACK and volume, and open URLs.
- Logs and crashes: collect live device logs (logcat on Android, unified log on iOS), list crash reports and read a crash by ID.
- Batching:
mobile_batch_commandsruns several tools in sequence in one call, optionally listing screen elements at the end, which cuts round trips. - Cloud devices: log in to Mobile Next Cloud, list remote device models, and allocate or release a physical device.
- HTTP mode with auth: a stateless Streamable HTTP server with optional Bearer token authorization and automatic DNS rebinding protection on localhost.
Getting started
Prerequisites are Xcode command line tools, Android Platform Tools, Node.js v20+, and an MCP-capable client. The standard configuration works in most clients:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}For Claude Code, add it from the CLI:
claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latestFor Codex or Gemini CLI:
codex mcp add mobile-mcp npx "@mobilenext/mobile-mcp@latest"gemini mcp add mobile-mcp npx -y @mobilenext/mobile-mcp@latestThe README also documents setup for Amp, Antigravity, Cline, Claude Desktop, Copilot, Cursor, Goose, Kiro, opencode and Windsurf. Make sure a simulator or emulator is running (on iOS, boot one with xcrun simctl boot), then ask the agent to list available devices. If your devices come back, the server is wired up correctly.
To expose the server over HTTP instead of stdio, with a token required:
MOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000Clients then connect to http://<host>:3000/mcp. The --listen flag previously served the deprecated HTTP+SSE transport; the README notes that clients must now use Streamable HTTP.
Use cases
- Verifying UI changes from a coding agent: after editing an app, have the assistant launch it, walk through the affected screen and check what is rendered.
- Exploratory testing: describe a multi-step user journey in one prompt and let the agent execute it on a device.
- Form filling and data entry: scripted flows without manually controlling simulators or phones.
- Data extraction: read structured UI elements from native apps that have no API.
- Crash triage: reproduce a flow, then pull device logs and crash reports through the same session.
- CI device farms: allocate real cloud devices on demand and release them when done.
How it compares
Mobile MCP is not a test framework. The README points users who want repeatable, deterministic tests to mobilewright, a sibling project it calls Playwright for mobile, and frames Mobile MCP as the tool for agent-driven exploration. Compared with writing XCUITest or Espresso code, it trades precise scripted control for natural-language goals and cross-platform reach. Appium is the long-standing cross-platform automation server in this space and remains the conventional choice for script-driven suites; Mobile MCP targets a different consumer, the LLM agent, and its accessibility-first output is designed around token cost and agent reasoning rather than test assertions. Screenshot-and-vision approaches to agent control also exist, and the README argues accessibility snapshots are cheaper and less ambiguous.
Things to know before adopting
- Telemetry is on by default: the README states that Mobile MCP collects anonymous usage telemetry via PostHog and Scarf. Set
MOBILEMCP_DISABLE_TELEMETRY=1to turn it off, including in theenvblock of an MCP config. - Secure the HTTP mode: without
MOBILEMCP_AUTH, the HTTP server accepts unauthenticated connections and only logs a warning. Anything that can reach the port can control your devices. - URL scheme restrictions: non-standard URL schemes in
mobile_open_urlare blocked unlessMOBILEMCP_ALLOW_UNSAFE_URLS=1is set. - Platform constraints: iOS simulators need Xcode, and the README lists iOS simulator support on macOS and Linux and Android emulators on Linux, Windows and macOS. Real devices need proper platform tools and drivers, USB trust on iOS and USB debugging on Android.
- Local versus cloud: everything runs locally against your own devices; Mobile Next Cloud is an optional hosted device fleet. The privacy note says the local server communicates only with the devices you connect.
- Agent actions are real: example prompts include liking videos, sending messages and booking classes. Use test accounts and devices when letting an agent operate apps.
Project activity
As of October 2026 the repository has roughly 8,500 stars. It was created on 28 March 2025, is written primarily in TypeScript, and is licensed under Apache-2.0. The source is at github.com/mobile-next/mobile-mcp, the package is published on npm as @mobilenext/mobile-mcp, and the company homepage is mobilenext.ai. Setup and debugging details live in the GitHub wiki, a public ROADMAP.md tracks planned work, and the README is also available in Japanese and Simplified Chinese.
Enjoying this project?
Discover more amazing open-source projects on TechLogHub. We curate the best developer tools and projects.
Repository:https://github.com/mobile-next/mobile-mcp
GitHub - mobile-next/mobile-mcp: Mobile MCP: MCP Server for iOS and Android Automation
Mobile MCP is an open-source TypeScript MCP server that lets AI agents and coding assistants drive iOS and Android apps on simulators, emulators and real device...
github - mobile-next/mobile-mcp

