
Mobile Mcp
Mobile Next MCP enables AI agents and LLMs to automate and interact with native iOS and Android applications across simulators, emulators, and real devices through a unified platform-agnostic interface. The server provides tools for accessibility-based snapshots and coordinate-based interactions from screenshots, allowing agents to perform automated testing, form filling, multi-step user journeys, and general application interaction without requiring platform-specific knowledge. It solves the problem of scaling mobile automation by abstracting away iOS and Android differences and enabling LLMs to drive complex mobile workflows programmatically.
- GitHub stars
- 10.5K
- tools
- 23
- transport
- STDIO
- last updated
- Nov 11, 2026
Install
From registry metadata$ npx add-mcp @mobilenext/mobile-mcp --name mobile-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcpRun in your terminal. Replace YOUR_* placeholders with real values; add --scope user to install for every project.
Tools
Verified live · 23 toolsVerified live against the running server on Jun 10, 2026.
mobile_list_available_devicesList all available devices. This includes both physical mobile devices and mobile simulators and emulators. It returns both Android and iOS devices.
List all available devices. This includes both physical mobile devices and mobile simulators and emulators. It returns both Android and iOS devices.
No parameters. Call it with no arguments.
mobile_list_appsList all the installed apps on the device1 params
List all the installed apps on the device
device*stringmobile_launch_appLaunch an app on mobile device. Use this to open a specific app. You can find the package name of the app by calling list_apps_on_device.3 params
Launch an app on mobile device. Use this to open a specific app. You can find the package name of the app by calling list_apps_on_device.
device*stringlocalestringpackageName*stringmobile_terminate_appStop and terminate an app on mobile device2 params
Stop and terminate an app on mobile device
device*stringpackageName*stringmobile_install_appInstall an app on mobile device2 params
Install an app on mobile device
device*stringpath*stringmobile_uninstall_appUninstall an app from mobile device2 params
Uninstall an app from mobile device
bundle_id*stringdevice*stringmobile_get_screen_sizeGet the screen size of the mobile device in pixels1 params
Get the screen size of the mobile device in pixels
device*stringmobile_click_on_screen_at_coordinatesClick on the screen at given x,y coordinates. If clicking on an element, use the list_elements_on_screen tool to find the coordinates.3 params
Click on the screen at given x,y coordinates. If clicking on an element, use the list_elements_on_screen tool to find the coordinates.
device*stringx*numbery*numbermobile_double_tap_on_screenDouble-tap on the screen at given x,y coordinates.3 params
Double-tap on the screen at given x,y coordinates.
device*stringx*numbery*numbermobile_long_press_on_screen_at_coordinatesLong press on the screen at given x,y coordinates. If long pressing on an element, use the list_elements_on_screen tool to find the coordinates.4 params
Long press on the screen at given x,y coordinates. If long pressing on an element, use the list_elements_on_screen tool to find the coordinates.
device*stringdurationnumberx*numbery*numbermobile_list_elements_on_screenList elements on screen and their coordinates, with display text or accessibility label. Do not cache this result.1 params
List elements on screen and their coordinates, with display text or accessibility label. Do not cache this result.
device*stringmobile_press_buttonPress a button on device2 params
Press a button on device
button*stringdevice*stringmobile_open_urlOpen a URL in browser on device2 params
Open a URL in browser on device
device*stringurl*stringmobile_swipe_on_screenSwipe on the screen5 params
Swipe on the screen
device*stringdirection*stringup · down · left · rightdistancenumberxnumberynumbermobile_type_keysType text into the focused element3 params
Type text into the focused element
device*stringsubmit*booleantext*stringmobile_save_screenshotSave a screenshot of the mobile device to a file2 params
Save a screenshot of the mobile device to a file
device*stringsaveTo*stringmobile_take_screenshotTake a screenshot of the mobile device. Use this to understand what's on screen, if you need to press an element that is available through view hierarchy then you must list elements on screen instead. Do not cache this result.1 params
Take a screenshot of the mobile device. Use this to understand what's on screen, if you need to press an element that is available through view hierarchy then you must list elements on screen instead. Do not cache this result.
device*stringmobile_set_orientationChange the screen orientation of the device2 params
Change the screen orientation of the device
device*stringorientation*stringportrait · landscapemobile_get_orientationGet the current screen orientation of the device1 params
Get the current screen orientation of the device
device*stringmobile_start_screen_recordingStart recording the screen of a mobile device. The recording runs in the background until stopped with mobile_stop_screen_recording. Returns the path where the recording will be saved.3 params
Start recording the screen of a mobile device. The recording runs in the background until stopped with mobile_stop_screen_recording. Returns the path where the recording will be saved.
device*stringoutputstringtimeLimitnumbermobile_stop_screen_recordingStop an active screen recording on a mobile device. Returns the file path, size, and approximate duration of the recording.1 params
Stop an active screen recording on a mobile device. Returns the file path, size, and approximate duration of the recording.
device*stringmobile_list_crashesList crash reports available on the device1 params
List crash reports available on the device
device*stringmobile_get_crashGet the full content of a crash report by its ID. Use mobile_list_crashes to find available crash IDs.2 params
Get the full content of a crash report by its ID. Use mobile_list_crashes to find available crash IDs.
device*stringid*stringSponsors
Readme
Mobile Next - MCP server for Mobile Development and Automation | iOS, Android, Simulator, Emulator, and Real Devices
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.
Details
- Repository
- github.com/mobile-next/mobile-mcp
- Categories
- Automation & Workflows, Mobile Development
- Package
@mobilenext/mobile-mcp- Transport
- STDIO
- Registry
- MCP registry, active
- Tools verified
- Jun 10, 2026