Mobile Mcp
@mobile-next
About Mobile Mcp
Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": [
"-y",
"@mobilenext/mobile-mcp@latest"
]
}
}
}Tools
27List all available devices. This includes both physical mobile devices and mobile simulators and emulators. It returns both Android and iOS devices. These are local devices already connected to this machine, ready to use immediately at no cost - for devices from the shared remote cloud fleet, use mobile_list_remote_devices instead.
Start authenticating this machine with the remote device cloud provider. This is required once before mobile_list_remote_devices or mobile_allocate_remote_device will work; if either of those fails with an authentication error, call this tool and then retry. This starts a browser-based device-code login and returns quickly with a URL and a one-time code - it does NOT wait for the login to complete. Show the URL and code to the user verbatim and ask them to open the URL and enter the code in their own browser. The login keeps running in the background after this tool returns; once the user confirms they've completed it, retry the remote devices tool that originally failed. Only call this after the user has explicitly asked to connect to, log into, or use remote/cloud devices - never call it speculatively, since it interrupts the user to act in their browser.
List the catalog of device models (make, platform, OS version) available to reserve from the remote cloud device fleet. This is different from mobile_list_available_devices, which lists real devices and simulators/emulators already connected to this local machine and ready to use immediately at no cost. Remote devices live in a shared cloud fleet: they are not usable until reserved with mobile_allocate_remote_device, and reserving one may be a limited/billed resource. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry.
Reserve a physical device from the remote cloud fleet for exclusive use, returning a device identifier usable with the other mobile_* tools. Unlike local devices, a remote device is a shared and billed resource borrowed for the session - only call this after the user has explicitly asked to use a remote/cloud device, never speculatively or as a fallback when a local device isn't found. Requires mobile_login_to_cloud_provider to have been called first; if this fails with an authentication error, call that tool then retry. Use mobile_list_remote_devices first to see which names and versions actually exist in the fleet before filtering by them. Release the device with mobile_release_remote_device once the whole task is finished - releasing wipes the device's state, so do not release and reallocate between steps of the same task just to be tidy.
Release a device previously reserved with mobile_allocate_remote_device back to the remote cloud fleet so it becomes available to others. Releasing is destructive to the device's state: apps installed, files pushed, and any other changes made during this session are lost, and a later mobile_allocate_remote_device call may take time and could return a different physical unit. Only release once the whole task is finished - if there is more work to do on the same device shortly, keep holding it rather than releasing and reallocating.
List all the installed apps on the device
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.
Stop and terminate an app on mobile device
Install an app on mobile device
Uninstall an app from mobile device
Get the screen size of the mobile device in pixels
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.
Double-tap on the screen at given x,y coordinates.
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.
List elements on screen and their coordinates, with display text or accessibility label. Do not cache this result.
Press a button on device
Open a URL in browser on device
Swipe on the screen
Type text into the focused element
Save a screenshot of the mobile device to a file
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.
Change the screen orientation of the device
Get the current screen orientation of the device
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.
Stop an active screen recording on a mobile device. Returns the file path, size, and approximate duration of the recording.
List crash reports available on the device
Get the full content of a crash report by its ID. Use mobile_list_crashes to find available crash IDs.
Overview
What is Mobile MCP?
Mobile MCP is a Model Context Protocol (MCP) server that enables scalable mobile automation and development through a platform-agnostic interface, eliminating the need for distinct iOS or Android knowledge. It allows agents and LLMs to interact with native iOS/Android applications and devices using structured accessibility snapshots or coordinate-based taps from screenshots.
How to use Mobile MCP?
Install and configure Mobile MCP by adding the standard MCP configuration to your MCP client using npx with @mobilenext/mobile-mcp@latest. By default it runs over stdio; optionally start as an SSE server with the --listen flag and protect it with Bearer token authorization via the MOBILEMCP_AUTH environment variable.
Key features of Mobile MCP
- Fast and lightweight using native accessibility trees
- LLM-friendly: no computer vision model required in Accessibility mode
- Visual Sense: evaluates rendered screen and falls back to screenshot analysis
- Deterministic tool application reduces ambiguity from screenshots
- Extract structured data from anything visible on screen
- Supports iOS and Android real devices, simulators, and emulators
Use cases of Mobile MCP
- Native app automation (iOS and Android) for testing or data-entry
- Scripted flows and form interactions without manual control of devices
- Multi-step user journeys driven by an LLM
- General-purpose mobile application interaction for agent-based frameworks
- Agent-to-agent communication for mobile automation and data extraction
FAQ from Mobile MCP
How does Mobile MCP interact with mobile apps?
It uses structured accessibility snapshots for most interactions and falls back to coordinate-based taps based on screenshots when accessibility data is unavailable.
Does Mobile MCP require a computer vision model?
No, it relies on native accessibility trees (UI hierarchy) for the majority of actions, only using screenshot-based analysis when accessibility labels are not available.
Which transports does Mobile MCP support?
Stdio is the default transport. SSE can be started with the --listen flag, optionally protected by Bearer token authorization using the MOBILEMCP_AUTH environment variable.
What platforms are supported?
Mobile MCP supports iOS real devices, iOS Simulator, Android real devices, and Android Emulator.
Frequently asked questions
How does Mobile MCP interact with mobile apps?
It uses structured accessibility snapshots for most interactions and falls back to coordinate-based taps based on screenshots when accessibility data is unavailable.
Does Mobile MCP require a computer vision model?
No, it relies on native accessibility trees (UI hierarchy) for the majority of actions, only using screenshot-based analysis when accessibility labels are not available.
Which transports does Mobile MCP support?
Stdio is the default transport. SSE can be started with the `--listen` flag, optionally protected by Bearer token authorization using the `MOBILEMCP_AUTH` environment variable.
What platforms are supported?
Mobile MCP supports iOS real devices, iOS Simulator, Android real devices, and Android Emulator.
Basic information
More Other MCP servers

Lemon.io
lemon-ioRequest dedicated senior developers to work on your project, write job descriptions, and prep technical interviews β all without leaving your Claude chat. Just describe what you need, and Lemon.io MCP does the rest. 1β3
MCP Go π
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
π Model Context Protocol (MCP) Curriculum for Beginners
microsoftThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable,
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
ghidraMCP
LaurieWiredMCP Server for Ghidra
Comments