{
  "markdown": "# Mobile Next - MCP server for Mobile Development and Automation | iOS, Android, Simulator, Emulator, and Real Devices\n\nThis is a [Model Context Protocol (MCP) server](https://github.com/modelcontextprotocol) 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).\nThis 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.\n\n**Works with Claude Code, Codex, Gemini, GitHub Copilot, Antigravity** — or any MCP-compatible client.\n\nRun it against devices on your own machine, or against real iOS and Android devices in the cloud with **[Mobile Next Cloud](https://mobilenext.ai/cloud?utm_source=github&utm_medium=readme&utm_campaign=mobile-mcp&utm_content=intro)** — same tools, no local setup.\n\n<h4 align=\"center\">\n  <a href=\"https://github.com/mobile-next/mobile-mcp\">\n    <img src=\"https://img.shields.io/github/stars/mobile-next/mobile-mcp\" alt=\"Mobile Next Stars\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/@mobilenext/mobile-mcp\">\n    <img src=\"https://img.shields.io/npm/dm/@mobilenext/mobile-mcp?logo=npm&style=flat&color=red\" alt=\"npm\" />\n  </a>\n  <a href=\"https://github.com/mobile-next/mobile-mcp/releases\">\n    <img src=\"https://img.shields.io/github/release/mobile-next/mobile-mcp\" />\n  </a>\n  <a href=\"https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22mobile-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40mobilenext%2Fmobile-mcp%40latest%22%5D%7D\">\n    <img src=\"https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"Install in VS Code\" />\n  </a>\n  <a href=\"https://github.com/mobile-next/mobile-mcp/wiki\">\n    <img src=\"https://img.shields.io/badge/documentation-wiki-blue\" alt=\"wiki\" />\n  </a>\n  <a href=\"https://mobilenext.ai/join-slack?utm_source=github&utm_medium=readme&utm_campaign=mobile-mcp&utm_content=badge\">\n    <img src=\"https://img.shields.io/badge/join-Slack-blueviolet?logo=slack&style=flat\" alt=\"join on Slack\" />\n  </a>\n</h4>\n\n\nhttps://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde\n\n\n<p align=\"center\">\n    <a href=\"https://github.com/mobile-next/\">\n        <img alt=\"mobile-mcp\" src=\"https://raw.githubusercontent.com/mobile-next/mobile-next-assets/refs/heads/main/mobile-mcp-banner.png\" width=\"600\" />\n    </a>\n</p>\n\n### Main use cases\n\nHow we help to scale mobile automation:\n\n- 📲 Native app automation (iOS and Android) for testing or data-entry scenarios.\n- 📝 Scripted flows and form interactions without manually controlling simulators/emulators or real devices (iPhone, Samsung, Google Pixel etc)\n- 🧭 Automating multi-step user journeys driven by an LLM\n- 👆 General-purpose mobile application interaction for agent-based frameworks\n- 🤖 Enables agent-to-agent communication for mobile automation usecases, data extraction\n\n## Main Features\n\n- 🚀 **Accessibility-first — fast and cheap**: drives apps from the native accessibility tree (no vision model, no image tokens), falling back to screenshots + coordinates only when needed.\n- 📱 **One API, every target**: the same tools work across iOS and Android — simulators, emulators, and real devices.\n- 🧠 **No platform expertise required**: no XCUITest, no Espresso, no per-platform glue — describe the goal and the agent does it.\n- 🧰 **Full device control**: taps, swipes, and gestures; app install/launch/terminate; screen recording; hardware buttons; deep links; orientation.\n- 📊 **Structured, deterministic output**: reads real UI elements and extracts structured data, cutting the ambiguity of screenshot-only approaches.\n\n### 🎯 Platform Support\n\n| Target | Supported | Setup |\n|---|:---:|---|\n| iOS Simulator | ✅ | Xcode + a booted simulator (`xcrun simctl`) |\n| iOS Real Device | ✅ | Device connected over USB and trusted |\n| Android Emulator | ✅ | Android SDK + running emulator (`adb`) |\n| Android Real Device | ✅ | `adb` + USB debugging enabled & authorized |\n\n## 🔧 Available MCP Tools\n\n### Device Management\n- **`mobile_list_available_devices`** - List all available devices (simulators, emulators, and real devices)\n- **`mobile_get_screen_size`** - Get the screen size of the mobile device in pixels\n- **`mobile_get_orientation`** - Get the current screen orientation of the device\n- **`mobile_set_orientation`** - Change the screen orientation (portrait/landscape)\n- **`mobile_set_location`** - Override the GPS location reported by the device, or clear the override\n- **`mobile_clipboard`** - Read or replace the device clipboard\n\n### Remote Devices (Mobile Next Cloud)\n- **`mobile_login_to_cloud_provider`** - Authenticate this machine with the cloud device provider (browser-based device-code login)\n- **`mobile_list_remote_devices`** - List device models available to reserve from the cloud fleet\n- **`mobile_allocate_remote_device`** - Reserve a physical cloud device for exclusive use\n- **`mobile_release_remote_device`** - Release a reserved cloud device back to the fleet\n\n### App Management\n- **`mobile_list_apps`** - List all installed apps on the device\n- **`mobile_get_foreground_app`** - Get the app currently in the foreground\n- **`mobile_launch_app`** - Launch an app using its package name\n- **`mobile_terminate_app`** - Stop and terminate a running app\n- **`mobile_install_app`** - Install an app from file (.apk, .ipa, .app, .zip)\n- **`mobile_uninstall_app`** - Uninstall an app using bundle ID or package name\n\n### Screen Interaction\n- **`mobile_take_screenshot`** - Take a screenshot to understand what's on screen\n- **`mobile_save_screenshot`** - Save a screenshot to a file\n- **`mobile_list_elements_on_screen`** - List UI elements with their coordinates and properties\n- **`mobile_click_on_screen_at_coordinates`** - Click at specific x,y coordinates\n- **`mobile_double_tap_on_screen`** - Double-tap at specific coordinates\n- **`mobile_long_press_on_screen_at_coordinates`** - Long press at specific coordinates\n- **`mobile_swipe_on_screen`** - Swipe in any direction (up, down, left, right)\n- **`mobile_start_screen_recording`** - Start recording the device screen to a video file\n- **`mobile_stop_screen_recording`** - Stop the active screen recording and save the video\n\n### Input & Navigation\n- **`mobile_type_keys`** - Type text into focused elements with optional submit\n- **`mobile_press_button`** - Press device buttons (HOME, BACK, VOLUME_UP/DOWN, ENTER, etc.)\n- **`mobile_open_url`** - Open URLs in the device browser\n\n### Logs & Crash Reports\n- **`mobile_get_device_logs`** - Collect live device logs (logcat on Android, unified log on iOS), optionally saved to a file\n- **`mobile_list_crashes`** - List crash reports available on the device\n- **`mobile_get_crash`** - Get the full content of a crash report by its ID\n\n## 🏗️ Mobile MCP Architecture\n\n<p align=\"center\">\n    <a href=\"https://raw.githubusercontent.com/mobile-next/mobile-next-assets/refs/heads/main/mobile-mcp-arch-1.png\">\n        <img alt=\"mobile-mcp\" src=\"https://raw.githubusercontent.com/mobile-next/mobile-next-assets/refs/heads/main/mobile-mcp-arch-1.png\" width=\"600\">\n    </a>\n</p>\n\n\n## 📚 Wiki page\n\nMore details in our [wiki page](https://github.com/mobile-next/mobile-mcp/wiki) for setup, configuration and debugging related questions.\n\n\n## Prerequisites\n\nWhat you will need to connect MCP with your agent and mobile devices:\n\n- [Xcode command line tools](https://developer.apple.com/xcode/resources/)\n- [Android Platform Tools](https://developer.android.com/tools/releases/platform-tools)\n- [node.js](https://nodejs.org/en/download/) v20+\n- [MCP](https://modelcontextprotocol.io/introduction) supported foundational models or agents, like [Claude MCP](https://modelcontextprotocol.io/quickstart/server), [OpenAI Agent SDK](https://openai.github.io/openai-agents-python/mcp/), [Copilot Studio](https://www.microsoft.com/en-us/microsoft-copilot/blog/copilot-studio/introducing-model-context-protocol-mcp-in-copilot-studio-simplified-integration-with-ai-apps-and-agents/)\n\n## Installation and configuration\n\n**Standard config** works in most of the tools:\n\n```json\n{\n  \"mcpServers\": {\n    \"mobile-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mobilenext/mobile-mcp@latest\"]\n    }\n  }\n}\n```\n\n<details>\n<summary>Amp</summary>\n\nAdd via the Amp VS Code extension settings screen or by updating your `settings.json` file:\n\n```json\n\"amp.mcpServers\": {\n  \"mobile-mcp\": {\n    \"command\": \"npx\",\n    \"args\": [\n      \"@mobilenext/mobile-mcp@latest\"\n    ]\n  }\n}\n```\n\n**Amp CLI:**\n\nRun the following command in your terminal:\n\n```bash\namp mcp add mobile-mcp -- npx @mobilenext/mobile-mcp@latest\n```\n\n</details>\n\n<details>\n<summary>Antigravity 2</summary>\n\nAntigravity doesn't have a CLI command to add MCP servers, so add it manually. Edit `~/.gemini/config/mcp_config.json` and add:\n\n```json\n{\n  \"mcpServers\": {\n    \"mobile-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mobilenext/mobile-mcp@latest\"]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Cline</summary>\n\nTo setup Cline, just add the json above to your MCP settings file.\n\n[More in our wiki](https://github.com/mobile-next/mobile-mcp/wiki/Cline)\n\n</details>\n\n<details>\n<summary>Claude Code</summary>\n\nUse the Claude Code CLI to add the Mobile MCP server:\n\n```bash\nclaude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest\n```\n</details>\n\n<details>\n<summary>Claude Desktop</summary>\n\nFollow the [MCP install guide](https://modelcontextprotocol.io/quickstart/user), use json configuration above.\n\n</details>\n\n<details>\n<summary>Codex</summary>\n\nUse the Codex CLI to add the Mobile MCP server:\n\n```bash\ncodex mcp add mobile-mcp npx \"@mobilenext/mobile-mcp@latest\"\n```\n\nAlternatively, create or edit the configuration file `~/.codex/config.toml` and add:\n\n```toml\n[mcp_servers.mobile-mcp]\ncommand = \"npx\"\nargs = [\"@mobilenext/mobile-mcp@latest\"]\n```\n\nFor more information, see the Codex MCP documentation.\n\n</details>\n\n<details>\n<summary>Copilot</summary>\n\nUse the Copilot CLI to interactively add the Mobile MCP server:\n\n```text\n/mcp add\n```\n\nYou can edit the configuration file `~/.copilot/mcp-config.json` and add:\n\n```json\n{\n  \"mcpServers\": {\n    \"mobile-mcp\": {\n      \"type\": \"local\",\n      \"command\": \"npx\",\n      \"tools\": [\n        \"*\"\n      ],\n      \"args\": [\n        \"@mobilenext/mobile-mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\nFor more information, see the Copilot CLI documentation.\n\n</details>\n\n<details>\n<summary>Cursor</summary>\n\n#### Click the button to install:\n\n[<img src=\"https://cursor.com/deeplink/mcp-install-dark.svg\" alt=\"Install in Cursor\">](https://cursor.com/en/install-mcp?name=Mobile%20MCP&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2JpbGVuZXh0L21vYmlsZS1tY3BAbGF0ZXN0Il19)\n\n#### Or install manually:\n\nGo 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`.\n\n</details>\n\n<details>\n<summary>Gemini CLI</summary>\n\nUse the Gemini CLI to add the Mobile MCP server:\n\n```bash\ngemini mcp add mobile-mcp npx -y @mobilenext/mobile-mcp@latest\n```\n\n</details>\n\n<details>\n<summary>Goose</summary>\n\n#### Click the button to install:\n\n[![Install in Goose](https://block.github.io/goose/img/extension-install-dark.svg)](https://block.github.io/goose/extension?cmd=npx&arg=-y&arg=%40mobilenext%2Fmobile-mcp%40latest&id=mobile-mcp&name=Mobile%20MCP&description=Mobile%20automation%20and%20development%20for%20iOS%2C%20Android%2C%20simulators%2C%20emulators%2C%20and%20real%20devices)\n\n#### Or install manually:\n\nGo 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\".\n\n</details>\n\n<details>\n<summary>Kiro</summary>\n\nFollow the MCP Servers [documentation](https://kiro.dev/docs/mcp/). For example in `.kiro/settings/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"mobile-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@mobilenext/mobile-mcp@latest\"\n      ]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>opencode</summary>\n\nFollow the MCP Servers documentation. For example in `~/.config/opencode/opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"mobile-mcp\": {\n      \"type\": \"local\",\n      \"command\": [\n        \"npx\",\n        \"@mobilenext/mobile-mcp@latest\"\n      ],\n      \"enabled\": true\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>Windsurf</summary>\n\nOpen Windsurf settings, navigate to MCP servers, and add a new server using the `command` type with:\n\n```bash\nnpx @mobilenext/mobile-mcp@latest\n```\n\nOr add the standard config under `mcpServers` in your settings as shown above.\n\n</details>\n\n\n[Read more in our wiki](https://github.com/mobile-next/mobile-mcp/wiki)! 🚀\n\n### ✅ Verify it works\n\nOnce the server is configured, ask your agent to list devices:\n\n> list available devices\n\nYou should get back your running simulators, emulators, and connected devices. If you do, Mobile MCP is wired up correctly. If the list is empty, make sure a simulator or emulator is running (see [Prerequisites](#prerequisites)) — for more help, check the [wiki](https://github.com/mobile-next/mobile-mcp/wiki).\n\n### ☁️ Scale up, use a cloud device\n\nWant to scale to hundreds of devices? Use Mobile MCP in your CI/CD pipeline?\n\nIn your Agent, prompt: \n```text\nlog in to mobile next cloud and then show me which remote devices are available to me\n```\n\n### SSE Server Mode\n\nBy default, Mobile MCP runs over stdio. To start an SSE server instead, use the `--listen` flag:\n\n```bash\nnpx @mobilenext/mobile-mcp@latest --listen 3000\n```\n\nThis binds to `localhost:3000`. To bind to a specific interface:\n\n```bash\nnpx @mobilenext/mobile-mcp@latest --listen 0.0.0.0:3000\n```\n\nThen configure your MCP client to connect to `http://<host>:3000/mcp`.\n\n#### Authorization\n\nTo require Bearer token authorization on the SSE server, set the `MOBILEMCP_AUTH` environment variable:\n\n```bash\nMOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000\n```\n\nWhen set, all requests must include the header `Authorization: Bearer my-secret-token`.\n\n### 🛠️ How to Use\n\nAfter adding the MCP server to your IDE/Client, you can instruct your AI assistant to use the available tools.\nFor example, in Cursor's agent mode, you could use the prompts below to quickly validate, test and iterate on UI interactions, read information from screen, go through complex workflows.\nBe descriptive, straight to the point.\n\n### ✨ Example Prompts\n\n#### Workflows\n\nYou can specify detailed workflows in a single prompt, verify business logic, setup automations. You can go crazy:\n\n**Search for a video, comment, like and share it.**\n```\nFind the video called \" Beginner Recipe for Tonkotsu Ramen\" by Way of\nRamen, click on like video, after liking write a comment \" this was\ndelicious, will make it next Friday\", share the video with the first\ncontact in your whatsapp list.\n```\n\n**Download a successful step counter app, register, setup workout and 5-star the app**\n```\nFind and Download a free \"Pomodoro\" app that has more than 1k stars.\nLaunch the app, register with my email, after registration find how to\nstart a pomodoro timer. When the pomodoro timer started, go back to the\napp store and rate the app 5 stars, and leave a comment how useful the\napp is.\n```\n\n**Search in Substack, read, highlight, comment and save an article**\n```\nOpen Substack website, search for \"Latest trends in AI automation 2025\",\nopen the first article, highlight the section titled \"Emerging AI trends\",\nand save article to reading list for later review, comment a random\nparagraph summary.\n```\n\n**Reserve a workout class, set timer**\n```\nOpen ClassPass, search for yoga classes tomorrow morning within 2 miles,\nbook the highest-rated class at 7 AM, confirm reservation,\nsetup a timer for the booked slot in the phone\n```\n\n**Find a local event, setup calendar event**\n```\nOpen Eventbrite, search for AI startup meetup events happening this\nweekend in \"Austin, TX\", select the most popular one, register and RSVP\nyes to the event, setup a calendar event as a reminder.\n```\n\n**Check weather forecast and send a Whatsapp/Telegram/Slack message**\n```\nOpen Weather app, check tomorrow's weather forecast for \"Berlin\", and\nsend the summary via Whatsapp/Telegram/Slack to contact \"Lauren Trown\",\nthumbs up their response.\n```\n\n- **Schedule a meeting in Zoom and share invite via email**\n```\nOpen Zoom app, schedule a meeting titled \"AI Hackathon\" for tomorrow at\n10AM with a duration of 1 hour, copy the invitation link, and send it via\nGmail to contacts \"team@example.com\".\n```\n\n## Running & configuration\n\n### Environment variables\n\n| Variable | Description | Example |\n|---|---|---|\n| `MOBILEMCP_AUTH` | Require a Bearer token on the SSE server — every request must then send `Authorization: Bearer <token>`. | `MOBILEMCP_AUTH=my-secret-token` |\n| `MOBILEMCP_DISABLE_TELEMETRY` | Disable anonymous usage telemetry. | `MOBILEMCP_DISABLE_TELEMETRY=1` |\n| `MOBILEMCP_ALLOW_UNSAFE_URLS` | Allow `mobile_open_url` to open non-standard URL schemes (blocked by default). | `MOBILEMCP_ALLOW_UNSAFE_URLS=1` |\n| `MOBILEMCP_LEGACY_ROBOT` | Use the legacy platform-specific robots for Android devices and physical iOS devices. iOS simulators continue to use `mobilecli`. | `MOBILEMCP_LEGACY_ROBOT=1` |\n\n### Simulators, Emulators, and Real Devices\n\nWhen launched, Mobile MCP can connect to:\n- iOS Simulators on macOS/Linux\n- Android Emulators on Linux/Windows/macOS\n- iOS or Android real devices (requires proper platform tools and drivers)\n\nMake sure you have your mobile platform SDKs (Xcode, Android SDK) installed and configured properly before running Mobile Next Mobile MCP.\n\n### Telemetry\n\nMobile MCP collects anonymous usage telemetry via PostHog. To disable it, set the `MOBILEMCP_DISABLE_TELEMETRY` environment variable:\n\n```bash\nMOBILEMCP_DISABLE_TELEMETRY=1 npx @mobilenext/mobile-mcp@latest\n```\n\nFor json configurations:\n\n```json\n{\n  \"mcpServers\": {\n    \"mobile-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mobilenext/mobile-mcp@latest\"],\n      \"env\": {\n        \"MOBILEMCP_DISABLE_TELEMETRY\": \"1\"\n      }\n    }\n  }\n}\n```\n\n### Running in \"headless\" mode on Simulators/Emulators\n\nWhen you do not have a real device connected to your machine, you can run Mobile MCP with an emulator or simulator in the background.\n\nFor example, on Android:\n1. Start an emulator (avdmanager / emulator command).\n2. Run Mobile MCP with the desired flags\n\nOn iOS, you'll need Xcode and to run the Simulator before using Mobile MCP with that simulator instance.\n- `xcrun simctl list`\n- `xcrun simctl boot \"iPhone 16\"`\n\n## 🧩 Part of Mobile Next\n\nMobile MCP is one piece of a toolkit for driving real mobile devices:\n\n- **[mobilewright](https://github.com/mobile-next/mobilewright)** — \"Playwright for mobile.\" When you're ready to turn agent-driven exploration into **repeatable, deterministic tests** for iOS and Android, graduate to mobilewright.\n- **[mobilecli](https://github.com/mobile-next/mobilecli)** — the universal device CLI that Mobile MCP is built on: control devices, simulators, and emulators from the command line or a JSON-RPC API.\n- **[Mobile Next Cloud](https://mobilenext.ai/cloud?utm_source=github&utm_medium=readme&utm_campaign=mobile-mcp&utm_content=part-of-mobile-next)** — the same stack, rented: real iOS and Android devices on demand. Just prompt your agent: `log in to mobile next cloud and then show me which remote devices are available to me` to get started.\n\n## 🚀 Roadmap\n\nWe're continuously improving Mobile MCP. See what we're building next in [ROADMAP.md](ROADMAP.md) — priorities are shaped heavily by community feedback, so tell us what you'd like to see.\n\n## 🤝 Contributing\n\nContributions are welcome — code, docs, bug reports, and ideas.\n\n- ⭐ **[Star the repo](https://github.com/mobile-next/mobile-mcp)** — the easiest way to help others discover Mobile MCP.\n- Read [CONTRIBUTING.md](CONTRIBUTING.md) for how to build, test, and open a pull request.\n- Browse [open issues](https://github.com/mobile-next/mobile-mcp/issues) to find something to work on.\n- Questions and ideas are also welcome in our [Slack community](https://mobilenext.ai/join-slack?utm_source=github&utm_medium=readme&utm_campaign=mobile-mcp&utm_content=contributing).\n\nPlease also review our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n# Thanks to all contributors ❤️\n\n### We appreciate everyone who has helped improve this project.\n\n  <a href = \"https://github.com/mobile-next/mobile-mcp/graphs/contributors\">\n   <img src = \"https://contrib.rocks/image?repo=mobile-next/mobile-mcp\"/>\n </a>\n\n## Privacy Policy\n\nMobile MCP runs locally and communicates only with the devices you connect.\nSee the Mobile Next privacy policy at https://mobilenext.ai/privacy for data\ncollection, usage, retention, and contact information.\n",
  "bytes": 21168,
  "sha": "db4554d0ce8b0574a4dac47a240231f46124b77d75480189f48bb2cd3e1ff415",
  "repo_slug": "mobile-next/mobile-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mobile_next_mobile_mcp_ac3c90ac/readme"
}