The Mobile Next MCP Server enables scalable mobile automation and interaction with iOS and Android devices, simulators, and emulators through a platform-agnostic interface.
You can use this server to:
Manage applications: List installed apps, launch and terminate applications by package name
Screen interactions: Tap at coordinates, get screen size, list on-screen elements with their coordinates/labels, and perform swipe gestures
Device controls: Press physical buttons (Back, Home, Volume, etc.) and type text into focused elements
Browser operations: Open URLs in the device browser
Visual analysis: Capture screenshots for screen content analysis
Automation support: Facilitate LLM-driven workflows through structured accessibility data and visual analysis
Enables automation of native Android applications through accessibility snapshots or coordinate-based interactions, supporting both emulators and physical devices for testing, data-entry, and multi-step user journeys.
Provides platform-agnostic automation of iOS applications using accessibility trees and screenshots, allowing for scripted flows and form interactions on both simulators and physical devices without manual control.
Supports interaction with Samsung mobile devices for application testing and automation through structured accessibility snapshots or coordinate-based taps.
Mobile Next - MCP server for Mobile Development and Automation | iOS, Android, Simulator, Emulator, and Real Devices
This is a Model Context Protocol (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.
https://github.com/user-attachments/assets/c4e89c4f-cc71-4424-8184-bdbc8c638fa1
π Mobile MCP Roadmap: Building the Future of Mobile
Join us on our journey as we continuously enhance Mobile MCP! Check out our detailed roadmap to see upcoming features, improvements, and milestones. Your feedback is invaluable in shaping the future of mobile automation.
π Explore the Roadmap
Main use cases
How we help to scale mobile automation:
π² 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
π€ Enables agent-to-agent communication for mobile automation usecases, data extraction
Main Features
π Fast and lightweight: Uses native accessibility trees for most interactions, or screenshot based coordinates where a11y labels are not available.
π€ LLM-friendly: No computer vision model required in Accessibility (Snapshot).
π§Ώ Visual Sense: Evaluates and analyses whatβs actually rendered on screen to decide the next action. If accessibility data or view-hierarchy coordinates are unavailable, it falls back to screenshot-based analysis.
π Deterministic tool application: Reduces ambiguity found in purely screenshot-based approaches by relying on structured data whenever possible.
πΊ Extract structured data: Enables you to extract structred data from anything visible on screen.
Related MCP server: MCP Appium Server
π§ Available MCP Tools
For detailed implementation and parameter specifications, see
src/server.ts
Device Management
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)
App Management
mobile_list_apps- List all installed apps on the devicemobile_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 name
Screen Interaction
mobile_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)
Input & Navigation
mobile_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 browser
Platform Support
iOS: Simulators and real devices via native accessibility and WebDriverAgent
Android: Emulators and real devices via ADB and UI Automator
Cross-platform: Unified API works across both iOS and Android
ποΈ Mobile MCP Architecture
π Wiki page
More details in our wiki page for setup, configuration and debugging related questions.
Installation and configuration
Standard config works in most of the tools:
To setup Cline, just add the json above to your MCP settings file.
Use the Claude Code CLI to add the Mobile MCP server:
Click the button to install:
Or install manually:
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:
Click the button to install:
Or install manually:
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".
Open Qodo Gen chat panel in VSCode or IntelliJ β Connect more tools β + Add new MCP β Paste the standard config above.
Click Save.
Read more in our wiki! π
π οΈ How to Use π
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 intereactions, read information from screen, go through complex workflows. Be descriptive, straight to the point.
β¨ Example Prompts
Workflows
You can specifiy 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
Schedule a meeting in Zoom and share invite via email
More prompt examples can be found here.
Prerequisites
What you will need to connect MCP with your agent and mobile devices:
node.js v22+
MCP supported foundational models or agents, like Claude MCP, OpenAI Agent SDK, Copilot Studio
Simulators, Emulators, and Real Devices
When launched, Mobile MCP can connect to:
iOS Simulators on macOS/Linux
Android Emulators on Linux/Windows/macOS
iOS or Android real devices (requires proper platform tools and drivers)
Make sure you have your mobile platform SDKs (Xcode, Android SDK) installed and configured properly before running Mobile Next Mobile MCP.
Running in "headless" mode on Simulators/Emulators
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:
Start an emulator (avdmanager / emulator command).
Run Mobile MCP with the desired flags
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"