Mobile Next logo

Mobile Next

OrganizationPopular
mobile-next

Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)

Publishermobile-next
Repositorymobile-mcp
LanguageTypeScript
Forks
425
Stars
4.9K
Available tools
19
Transport typestdio
Categories
LicenseApache-2.0
Links
  • Connect tools to AI workflows

    Mobile Next exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 19 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    4.9K stars and 425 forks from the linked repository.

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/bb084777-beb3-4930-ae6f-8d3fe694ddde

🚀 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.

🎯 Platform Support

PlatformSupported
iOS Real Device
iOS Simulator
Android Real Device
Android Emulator

🔧 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 pixels
  • mobile_get_orientation - Get the current screen orientation of the device
  • mobile_set_orientation - Change the screen orientation (portrait/landscape)

App Management

  • mobile_list_apps - List all installed apps on the device
  • mobile_launch_app - Launch an app using its package name
  • mobile_terminate_app - Stop and terminate a running app
  • mobile_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 screen
  • mobile_save_screenshot - Save a screenshot to a file
  • mobile_list_elements_on_screen - List UI elements with their coordinates and properties
  • mobile_click_on_screen_at_coordinates - Click at specific x,y coordinates
  • mobile_double_tap_on_screen - Double-tap at specific coordinates
  • mobile_long_press_on_screen_at_coordinates - Long press at specific coordinates
  • mobile_swipe_on_screen - Swipe in any direction (up, down, left, right)

Input & Navigation

  • mobile_type_keys - Type text into focused elements with optional submit
  • mobile_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:

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

Add via the Amp VS Code extension settings screen or by updating your settings.json file:

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

Amp CLI:

Run the following command in your terminal:

bash
amp mcp add mobile-mcp -- npx @mobilenext/mobile-mcp@latest

To setup Cline, just add the json above to your MCP settings file.

More in our wiki

Use the Claude Code CLI to add the Mobile MCP server:

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

Follow the MCP install guide, use json configuration above.

Use the Codex CLI to add the Mobile MCP server:

bash
codex mcp add mobile-mcp npx "@mobilenext/mobile-mcp@latest"

Alternatively, create or edit the configuration file ~/.codex/config.toml and add:

toml
[mcp_servers.mobile-mcp]
command = "npx"
args = ["@mobilenext/mobile-mcp@latest"]

For more information, see the Codex MCP documentation.

Use the Copilot CLI to interactively add the Mobile MCP server:

text
/mcp add

You can edit the configuration file ~/.copilot/mcp-config.json and add:

json
{
  "mcpServers": {
    "mobile-mcp": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

For more information, see the Copilot CLI documentation.

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:

bash
gemini mcp add mobile-mcp npx -y @mobilenext/mobile-mcp@latest

Click the button to install:

Install in Goose

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".

Follow the MCP Servers documentation. For example in .kiro/settings/mcp.json:

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

Follow the MCP Servers documentation. For example in ~/.config/opencode/opencode.json:

json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mobile-mcp": {
      "type": "local",
      "command": [
        "npx",
        "@mobilenext/mobile-mcp@latest"
      ],
      "enabled": true
    }
  }
}

Open Qodo Gen chat panel in VSCode or IntelliJ → Connect more tools → + Add new MCP → Paste the standard config above.

Click Save.

Open Windsurf settings, navigate to MCP servers, and add a new server using the command type with:

bash
npx @mobilenext/mobile-mcp@latest

Or add the standard config under mcpServers in your settings as shown above.

Read more in our wiki! 🚀

SSE Server Mode

By default, Mobile MCP runs over stdio. To start an SSE server instead, use the --listen flag:

bash
npx @mobilenext/mobile-mcp@latest --listen 3000

This binds to localhost:3000. To bind to a specific interface:

bash
npx @mobilenext/mobile-mcp@latest --listen 0.0.0.0:3000

Then configure your MCP client to connect to http://<host>:3000/mcp.

Authorization

To require Bearer token authorization on the SSE server, set the MOBILEMCP_AUTH environment variable:

bash
MOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000

When set, all requests must include the header Authorization: Bearer my-secret-token.

🛠️ 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 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.

Telemetry

Mobile MCP collects anonymous usage telemetry via PostHog. To disable it, set the MOBILEMCP_DISABLE_TELEMETRY environment variable:

bash
MOBILEMCP_DISABLE_TELEMETRY=1 npx @mobilenext/mobile-mcp@latest

For json configurations:

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

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:

  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.

Installation

TypingMind
Prerequisites:

Node.js 18+

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

Available Tools

  • mobile_list_available_devices

    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.

  • mobile_list_apps

    List all the installed apps on the device

  • mobile_launch_app

    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.

  • mobile_terminate_app

    Stop and terminate an app on mobile device

  • mobile_get_screen_size

    Get the screen size of the mobile device in pixels

  • mobile_click_on_screen_at_coordinates

    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.

  • mobile_long_press_on_screen_at_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.

  • mobile_list_elements_on_screen

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

  • mobile_press_button

    Press a button on device

  • mobile_open_url

    Open a URL in browser on device

  • mobile_type_keys

    Type text into the focused element

  • mobile_save_screenshot

    Save a screenshot of the mobile device to a file

  • mobile_take_screenshot

    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.

  • mobile_set_orientation

    Change the screen orientation of the device

  • mobile_get_orientation

    Get the current screen orientation of the device

  • mobile_install_app

    Install an app on mobile device

  • mobile_uninstall_app

    Uninstall an app from mobile device

  • mobile_double_tap_on_screen

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

  • mobile_swipe_on_screen

    Swipe on the screen

Use Mobile Next MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Mobile Next is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Mobile Next as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Mobile Next MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "mobile-next": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Mobile Next MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Mobile Next MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Mobile Next to help me with this task?
Mobile Next
Sure. I read it.
Here is what I found using Mobile Next.

Frequently asked questions

What is the Mobile Next MCP server used for?

Mobile Next is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Mobile Next MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Mobile Next with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Mobile Next MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Mobile Next connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Mobile Next MCP to TypingMind?

Mobile Next runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Mobile Next MCP provide in TypingMind?

Mobile Next exposes 19 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Mobile Next MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Mobile Next requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇