The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Mobile MCP listing page.
This is an MCP Server that enables scalable mobile automation, development through a platform-agnostic interface, eliminating the need for distinct iOS or Android knowledge. You can run it on emulators, simulators, and real devices (iOS and Android).
This server allows Agents and LLMs to interact with native iOS/Android applications and devices through structured accessibility snapshots or coordinate-based taps based on screenshots.
Works with Claude Code, Codex, Gemini, GitHub Copilot, Antigravity — or any MCP-compatible client.
Run it against devices on your own machine, or against real iOS and Android devices in the cloud with Mobile Next Cloud — same tools, no local setup.
https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde
How we help to scale mobile automation:
| Target | Supported | Setup |
|---|---|---|
| iOS Simulator | ✅ | Xcode + a booted simulator (xcrun simctl) |
| iOS Real Device | ✅ | Device connected over USB and trusted |
| Android Emulator | ✅ | Android SDK + running emulator (adb) |
| Android Real Device | ✅ | adb + USB debugging enabled & authorized |
mobile_list_available_devices - List all available devices (simulators, emulators, and real devices)mobile_get_screen_size - Get the screen size of the mobile device in pixelsmobile_get_orientation - Get the current screen orientation of the devicemobile_set_orientation - Change the screen orientation (portrait/landscape)mobile_set_location - Override the GPS location reported by the device, or clear the overridemobile_clipboard - Read or replace the device clipboardmobile_login_to_cloud_provider - Authenticate this machine with the cloud device provider (browser-based device-code login)mobile_list_remote_devices - List device models available to reserve from the cloud fleetmobile_allocate_remote_device - Reserve a physical cloud device for exclusive usemobile_release_remote_device - Release a reserved cloud device back to the fleetmobile_list_apps - List all installed apps on the devicemobile_get_foreground_app - Get the app currently in the foregroundmobile_launch_app - Launch an app using its package namemobile_terminate_app - Stop and terminate a running appmobile_install_app - Install an app from file (.apk, .ipa, .app, .zip)mobile_uninstall_app - Uninstall an app using bundle ID or package namemobile_take_screenshot - Take a screenshot to understand what's on screenmobile_save_screenshot - Save a screenshot to a filemobile_list_elements_on_screen - List UI elements with their coordinates and propertiesmobile_click_on_screen_at_coordinates - Click at specific x,y coordinatesmobile_double_tap_on_screen - Double-tap at specific coordinatesmobile_long_press_on_screen_at_coordinates - Long press at specific coordinatesmobile_swipe_on_screen - Swipe in any direction (up, down, left, right)mobile_start_screen_recording - Start recording the device screen to a video filemobile_stop_screen_recording - Stop the active screen recording and save the videomobile_type_keys - Type text into focused elements with optional submitmobile_press_button - Press device buttons (HOME, BACK, VOLUME_UP/DOWN, ENTER, etc.)mobile_open_url - Open URLs in the device browsermobile_get_device_logs - Collect live device logs (logcat on Android, unified log on iOS), optionally saved to a filemobile_list_crashes - List crash reports available on the devicemobile_get_crash - Get the full content of a crash report by its IDmobile_batch_commands - Run multiple tools in sequence in a single call (e.g. click, type, click), optionally listing screen elements at the endMore details in our wiki page for setup, configuration and debugging related questions.
What you will need to connect MCP with your agent and mobile devices:
Standard config works in most of the tools:
Add via the Amp VS Code extension settings screen or by updating your settings.json file:
Amp CLI:
Run the following command in your terminal:
Antigravity doesn't have a CLI command to add MCP servers, so add it manually. Edit ~/.gemini/config/mcp_config.json and add:
Use the Claude Code CLI to add the Mobile MCP server:
Follow the MCP install guide, use json configuration above.
Use the Codex CLI to add the Mobile MCP server:
Alternatively, create or edit the configuration file ~/.codex/config.toml and add:
For more information, see the Codex MCP documentation.
Use the Copilot CLI to interactively add the Mobile MCP server:
You can edit the configuration file ~/.copilot/mcp-config.json and add:
For more information, see the Copilot CLI documentation.
Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command npx -y @mobilenext/mobile-mcp@latest. You can also verify config or add command like arguments via clicking Edit.
Use the Gemini CLI to add the Mobile MCP server:
Go to Advanced settings -> Extensions -> Add custom extension. Name to your liking, use type STDIO, and set the command to npx -y @mobilenext/mobile-mcp@latest. Click "Add Extension".
Follow the MCP Servers documentation. For example in .kiro/settings/mcp.json:
Follow the MCP Servers documentation. For example in ~/.config/opencode/opencode.json:
Open Windsurf settings, navigate to MCP servers, and add a new server using the command type with:
Or add the standard config under mcpServers in your settings as shown above.
Once the server is configured, ask your agent to list devices:
list available devices
You should get back your running simulators, emulators, and connected devices. If you do, Mobile MCP is wired up correctly. If the list is empty, make sure a simulator or emulator is running (see Prerequisites) — for more help, check the wiki.
Want to scale to hundreds of devices? Use Mobile MCP in your CI/CD pipeline?
In your Agent, prompt:
By default, Mobile MCP runs over stdio. To start an SSE server instead, use the --listen flag:
This binds to localhost:3000. To bind to a specific interface:
Then configure your MCP client to connect to http://<host>:3000/mcp.
To require Bearer token authorization on the SSE server, set the MOBILEMCP_AUTH environment variable:
When set, all requests must include the header Authorization: Bearer my-secret-token.
After adding the MCP server to your IDE/Client, you can instruct your AI assistant to use the available tools. For example, in Cursor's agent mode, you could use the prompts below to quickly validate, test and iterate on UI interactions, read information from screen, go through complex workflows. Be descriptive, straight to the point.
You can specify detailed workflows in a single prompt, verify business logic, setup automations. You can go crazy:
Search for a video, comment, like and share it.
Download a successful step counter app, register, setup workout and 5-star the app
Search in Substack, read, highlight, comment and save an article
Reserve a workout class, set timer
Find a local event, setup calendar event
Check weather forecast and send a Whatsapp/Telegram/Slack message
| Variable | Description | Example |
|---|---|---|
MOBILEMCP_AUTH | Require a Bearer token on the SSE server — every request must then send Authorization: Bearer <token>. | MOBILEMCP_AUTH=my-secret-token |
MOBILEMCP_DISABLE_TELEMETRY | Disable anonymous usage telemetry. | MOBILEMCP_DISABLE_TELEMETRY=1 |
MOBILEMCP_ALLOW_UNSAFE_URLS | Allow mobile_open_url to open non-standard URL schemes (blocked by default). | MOBILEMCP_ALLOW_UNSAFE_URLS=1 |
MOBILEMCP_LEGACY_ROBOT | Use the legacy platform-specific robots for Android devices and physical iOS devices. iOS simulators continue to use mobilecli. | MOBILEMCP_LEGACY_ROBOT=1 |
When launched, Mobile MCP can connect to:
Make sure you have your mobile platform SDKs (Xcode, Android SDK) installed and configured properly before running Mobile Next Mobile MCP.
Mobile MCP collects anonymous usage telemetry via PostHog and Scarf. To disable it, set the MOBILEMCP_DISABLE_TELEMETRY environment variable:
For json configurations:
When you do not have a real device connected to your machine, you can run Mobile MCP with an emulator or simulator in the background.
For example, on Android:
On iOS, you'll need Xcode and to run the Simulator before using Mobile MCP with that simulator instance.
xcrun simctl listxcrun simctl boot "iPhone 16"Mobile MCP is one piece of a toolkit for driving real mobile devices:
log in to mobile next cloud and then show me which remote devices are available to me to get started.We're continuously improving Mobile MCP. See what we're building next in ROADMAP.md — priorities are shaped heavily by community feedback, so tell us what you'd like to see.
Contributions are welcome — code, docs, bug reports, and ideas.
Please also review our Code of Conduct.
Mobile MCP runs locally and communicates only with the devices you connect. See the Mobile Next privacy policy at https://mobilenext.ai/privacy for data collection, usage, retention, and contact information.