Skip to main content
Glama

Mobile Next - MCP server for Mobile Development and Automation | iOS, Android, Simulator, Emulator, and physical 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 physical 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 physical 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: Playwright MCP

πŸ—οΈ Mobile MCP Architecture

πŸ“š Wiki page

More details in our wiki page for setup, configuration and debugging related questions.

Installation and configuration

Setup our MCP with Cline, Cursor, Claude, VS Code, Github Copilot:

{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": ["-y", "@mobilenext/mobile-mcp@latest"]
    }
  }
}

Cline: To setup Cline, just add the json above to your MCP settings file. More in our wiki

Claude Code:

claude mcp add mobile -- npx -y @mobilenext/mobile-mcp@latest

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.

Find the video called " Beginner Recipe for Tonkotsu Ramen" by Way of
Ramen, click on like video, after liking write a comment " this was
delicious, will make it next Friday", share the video with the first
contact in your whatsapp list.

Download a successful step counter app, register, setup workout and 5-star the app

Find and Download a free "Pomodoro" app that has more than 1k stars.
Launch the app, register with my email, after registration find how to
start a pomodoro timer. When the pomodoro timer started, go back to the
app store and rate the app 5 stars, and leave a comment how useful the
app is.

Search in Substack, read, highlight, comment and save an article

Open Substack website, search for "Latest trends in AI automation 2025",
open the first article, highlight the section titled "Emerging AI trends",
and save article to reading list for later review, comment a random
paragraph summary.

Reserve a workout class, set timer

Open ClassPass, search for yoga classes tomorrow morning within 2 miles,
book the highest-rated class at 7 AM, confirm reservation,
setup a timer for the booked slot in the phone

Find a local event, setup calendar event

Open Eventbrite, search for AI startup meetup events happening this
weekend in "Austin, TX", select the most popular one, register and RSVP
yes to the event, setup a calendar event as a reminder.

Check weather forecast and send a Whatsapp/Telegram/Slack message

Open Weather app, check tomorrow's weather forecast for "Berlin", and
send the summary via Whatsapp/Telegram/Slack to contact "Lauren Trown",
thumbs up their response.
  • Schedule a meeting in Zoom and share invite via email

Open Zoom app, schedule a meeting titled "AI Hackathon" for tomorrow at
10AM with a duration of 1 hour, copy the invitation link, and send it via
Gmail to contacts "team@example.com".

More prompt examples can be found here.

Prerequisites

What you will need to connect MCP with your agent and mobile devices:

Simulators, Emulators, and Physical Devices

When launched, Mobile MCP can connect to:

  • iOS Simulators on macOS/Linux

  • Android Emulators on Linux/Windows/macOS

  • Physical iOS or Android 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 physical phone connected to your machine, you can run Mobile MCP with an emulator or simulator in the background.

For example, on Android:

  1. Start an emulator (avdmanager / emulator command).

  2. 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 list

  • xcrun simctl boot "iPhone 16"

Thanks to all contributors ❀️

We appreciate everyone who has helped improve this project.

Available Tools

19 tools
mobile_click_on_screen_at_coordinatesClick ScreenA
Destructive

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.

Inputs: device (required), x (required), y (required).

mobile_double_tap_on_screenDouble Tap ScreenA
Destructive

Double-tap on the screen at given x,y coordinates.

Inputs: device (required), x (required), y (required).

mobile_get_orientationGet OrientationA
Read-only

Get the current screen orientation of the device

Inputs: device (required).

mobile_get_screen_sizeGet Screen SizeA
Read-only

Get the screen size of the mobile device in pixels

Inputs: device (required).

mobile_install_appInstall AppB
Destructive

Install an app on mobile device

Inputs: device (required), path (required).

mobile_launch_appLaunch AppA
Destructive

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.

Inputs: device (required), packageName (required).

mobile_list_appsList AppsA
Read-only

List all the installed apps on the device

Inputs: device (required).

mobile_list_available_devicesList DevicesA
Read-only

List all available devices. This includes both physical devices and simulators. If there is more than one device returned, you need to let the user select one of them.

Inputs: noParams (required).

mobile_list_elements_on_screenList Screen ElementsA
Read-only

List elements on screen and their coordinates, with display text or accessibility label. Do not cache this result.

Inputs: device (required).

mobile_long_press_on_screen_at_coordinatesLong Press ScreenA
Destructive

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.

Inputs: device (required), x (required), y (required), duration.

mobile_open_urlOpen URLA
Destructive

Open a URL in browser on device

Inputs: device (required), url (required).

mobile_press_buttonPress ButtonC
Destructive

Press a button on device

Inputs: device (required), button (required).

mobile_save_screenshotSave ScreenshotB
Destructive

Save a screenshot of the mobile device to a file

Inputs: device (required), saveTo (required).

mobile_set_orientationSet OrientationA
Destructive

Change the screen orientation of the device

Inputs: device (required), orientation (required).

mobile_swipe_on_screenSwipe ScreenC
Destructive

Swipe on the screen

Inputs: device (required), direction (required), x, y, +1 more.

mobile_take_screenshotTake ScreenshotA
Read-only

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.

Inputs: device (required).

mobile_terminate_appTerminate AppB
Destructive

Stop and terminate an app on mobile device

Inputs: device (required), packageName (required).

mobile_type_keysType TextA
Destructive

Type text into the focused element

Inputs: device (required), text (required), submit (required).

mobile_uninstall_appUninstall AppB
Destructive

Uninstall an app from mobile device

Inputs: device (required), bundle_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 19 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity; actions like click, double-tap, long press, swipe, and type are well-differentiated, and resource targets (e.g., apps, screen, orientation) are specific. The descriptions provide clear guidance on when to use each tool, preventing misselection.

    Naming Consistency5/5

    All tool names follow a consistent 'mobile_verb_noun' pattern with snake_case throughout, such as mobile_click_on_screen_at_coordinates and mobile_list_apps. This predictability makes the set easy to navigate and understand at a glance.

    Tool Count5/5

    With 19 tools, the count is well-scoped for mobile device automation, covering essential actions like interaction, app management, and device control. Each tool earns its place by addressing a specific need without redundancy, fitting the domain's complexity appropriately.

    Completeness5/5

    The toolset provides complete coverage for mobile automation, including CRUD-like operations for apps (install, launch, terminate, uninstall), screen interaction (click, swipe, type), device management (orientation, screen size), and diagnostics (screenshot, element listing). No obvious gaps exist for core workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      A Model Context Protocol server that enables scalable mobile automation through a platform-agnostic interface for iOS and Android devices, allowing agents and LLMs to interact with mobile applications using accessibility snapshots or coordinate-based interactions.
      35
      33,974 npm
      10,383
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots, providing browser automation capabilities without requiring screenshots or visually-tuned models.
      7
      Apache 2.0
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots, providing browser automation capabilities without requiring screenshots or visually tuned models.
      7
      40,235 npm
      Apache 2.0
    • A
      license
      A
      quality
      C
      maintenance
      A Model Context Protocol server for ad-hoc UI testing of Android and iOS apps, enabling LLM agents to interact with mobile app UIs and react to observations.
      40
      7 npm
      3
      MIT