
Mobile Mcp
io.github.mobile-next由 GitHub 账号 mobile-next 发布v1.0.16更新于 Nov 3, 2026
用于iOS和Android移动开发、自动化与测试的MCP服务器
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
MCP server for iOS and Android Mobile Development, Automation and Testing
概览
Mobile 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 Mobile Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
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.
[Mobile Next Stars] [npm] [图片] [Install in VS Code] [wiki] [join on Slack]
[GitHub Trending Repository of the Day]
https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde
🚀 Quick start
Quick install detects the MCP clients on this machine (Claude Code, Codex, Cursor, VS Code, Gemini CLI and more) and lets you pick which ones to configure:
Add --yes to configure every detected client without asking.
Manual setup per client: Installation and configuration
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
- 🚀 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.
- 📱 One API, every target: the same tools work across iOS and Android — simulators, emulators, and real devices.
- 🧠 No platform expertise required: no XCUITest, no Espresso, no per-platform glue — describe the goal and the agent does it.
- 🧰 Full device control: taps, swipes, and gestures; app install/launch/terminate; screen recording; hardware buttons; deep links; orientation.
- 📊 Structured, deterministic output: reads real UI elements and extracts structured data, cutting the ambiguity of screenshot-only approaches.
- 🪞 Device mirroring in Claude Code: for Claude Code running in Ghostty or kitty. Install the plugin and run
/mobile-mirrorto see the device's live screen in a side pane, then tap, type and press Home/Back without leaving the terminal.
[/mobile-mirror showing an iOS simulator beside a Claude Code session]
🎯 Platform Support
🔧 Available MCP Tools
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 pixelsmobile_get_orientation- Get the current screen orientation of the devicemobile_set_orientation- Change the screen orientation (portrait/landscape)mobile_fold_device- Fold or unfold a foldable device (iPhone Duo simulators, foldable Android emulators)mobile_set_location- Override the GPS location reported by the device, or clear the overridemobile_clipboard- Read or replace the device clipboard
Remote Devices (Mobile Next Cloud)
mobile_login_to_cloud_provider- Authenticate this machine with the cloud device provider (browser-based device-code login)mobile_list_remote_devices- List device models available to reserve from the cloud fleetmobile_allocate_remote_device- Reserve a physical cloud device for exclusive usemobile_release_remote_device- Release a reserved cloud device back to the fleet
App Management
mobile_list_apps- List all installed apps on the devicemobile_get_foreground_app- Get the app currently in the foregroundmobile_launch_app- Launch an app using its package namemobile_terminate_app- Stop and terminate a running appmobile_install_app- Install an app from file (.apk, .ipa, .app, .zip)mobile_uninstall_app- Uninstall an app by its package name or bundle IDmobile_clear_app_data- Clear an app's data so it starts fresh (Android and iOS Simulator)
Screen Interaction
mobile_take_screenshot- Take a screenshot to understand what's on screenmobile_save_screenshot- Save a screenshot to a filemobile_list_elements_on_screen- List UI elements with their coordinates and propertiesmobile_click_on_screen_at_coordinates- Click at specific x,y coordinates or on an element by its refmobile_double_tap_on_screen- Double-tap at specific coordinates or on an element by its refmobile_long_press_on_screen_at_coordinates- Long press at specific coordinates or on an element by its refmobile_swipe_on_screen- Swipe in any direction (up, down, left, right)mobile_start_screen_recording- Start recording the device screen to a video filemobile_stop_screen_recording- Stop the active screen recording and save the video
Input & Navigation
mobile_type_keys- Type text into focused elements with optional submitmobile_press_button- Press device buttons (HOME, BACK, VOLUME_UP/DOWN, ENTER, etc.)mobile_open_url- Open http/https URLs in the device browser
Logs & Crash Reports
mobile_get_device_logs- Collect live device logs (logcat on Android, unified log on iOS), optionally saved to a filemobile_list_crashes- List crash reports available on the devicemobile_get_crash- Get the full content of a crash report by its IDmobile_batch_commands- Run multiple tools in sequence in a single call (e.g. click, type, click), optionally listing screen elements at the end
🏗️ Mobile MCP Architecture
📚 Wiki page
More details in our wiki page for setup, configuration and debugging related questions.
Prerequisites
What you will need to connect MCP with your agent and mobile devices:
- Xcode command line tools
- Android Platform Tools
- node.js v20+
- MCP supported foundational models or agents, like Claude MCP, OpenAI Agent SDK, Copilot Studio
Installation and configuration
To configure it by hand, this standard config works in most of the tools:
Amp
Add via the Amp VS Code extension settings screen or by updating your settings.json file:
Amp CLI:
Run the following command in your terminal:
Antigravity 2
Antigravity doesn't have a CLI command to add MCP servers, so add it manually. Edit ~/.gemini/config/mcp_config.json and add:
Claude Code
Install the plugin from inside Claude Code. It adds the Mobile MCP server and /mobile-mirror:
/mobile-mirror [device-id] opens a pane with the device's live screen. Click the picture to tap, type to send keys, and use the Home, Back, App Switch and URL buttons above it. The picture needs a terminal with the kitty graphics protocol, such as kitty or Ghostty.
If you can't use plugins, add only the MCP server with the Claude Code CLI:
Claude Desktop
Follow the MCP install guide, use json configuration above.
Codex
Use the Codex CLI to add the Mobile MCP server:
Alternatively, create or edit the configuration file ~/.codex/config.toml and add:
For more information, see the Codex MCP documentation.
Copilot
Use the Copilot CLI to interactively add the Mobile MCP server:
You can edit the configuration file ~/.copilot/mcp-config.json and add:
For more information, see the Copilot CLI documentation.
Cursor
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.
Gemini CLI
Use the Gemini CLI to add the Mobile MCP server:
Goose
Click the button to install:
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".
Kiro
Follow the MCP Servers documentation. For example in .kiro/settings/mcp.json:
opencode
Follow the MCP Servers documentation. For example in ~/.config/opencode/opencode.json:
Windsurf
Open Windsurf settings, navigate to MCP servers, and add a new server using the command type with:
Or add the standard config under mcpServers in your settings as shown above.
✅ Verify it works
Once the server is configured, ask your agent to list devices:
list available devices
You 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) — for more help, check the wiki.
🧪 From agent session to CI test
Using Mobile MCP to automate a mobile app, or to test one? Tell your agent to write the flow as a Mobilewright test. It becomes deterministic, and part of your CI/CD workflow.
Start with npm init mobilewright@latest. The step-by-step guide goes from an agent session to a test running in GitHub Actions.
☁️ Scale up, use a cloud device
Want to scale to hundreds of devices? Use Mobile MCP in your CI/CD pipeline?
In your Agent, prompt:
Streamable HTTP Server Mode
By default, Mobile MCP runs over stdio. To start a Streamable HTTP server instead, use the --listen flag:
This binds to localhost:3000. To bind to a specific interface:
Then configure your MCP client to connect to http://<host>:3000/mcp (or https://…/mcp behind TLS). The endpoint accepts Streamable HTTP (POST on /mcp); remote mode is stateless (no session affinity required), which works well with Smithery and other horizontal hosts.
Migration note:
--listenpreviously served the deprecated HTTP+SSE transport on/mcp. Clients must use Streamable HTTP againsthttp(s)://host:port/mcp. The old pure-SSE flow on/mcpis no longer available.
When binding to localhost, Host-header DNS rebinding protection is enabled automatically.
Authorization
To require Bearer token authorization on the HTTP server, set the MOBILEMCP_AUTH environment variable:
When set, all requests must include the header Authorization: Bearer my-secret-token. When unset, the server accepts unauthenticated connections and logs a warning.
🛠️ 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 interactions, read information from screen, go through complex workflows. Be descriptive, straight to the point.
✨ Example Prompts
Workflows
You can specify detailed workflows in a single prompt, verify business logic, setup automations. You can go crazy:
Search for a video, comment, like and share it.
Download a successful step counter app, register, setup workout and 5-star the app
Search in Substack, read, highlight, comment and save an article
Reserve a workout class, set timer
Find a local event, setup calendar event
Check weather forecast and send a Whatsapp/Telegram/Slack message
- Schedule a meeting in Zoom and share invite via email
Running & configuration
Environment variables
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 and Scarf. To disable it, set the MOBILEMCP_DISABLE_TELEMETRY environment variable:
For json configurations:
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:
- Start an emulator (avdmanager / emulator command).
- 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 listxcrun simctl boot "iPhone 16"
🧩 Part of Mobile Next
Mobile MCP is one piece of a toolkit for driving real mobile devices:
- mobilewright — "Playwright for mobile." When you're ready to turn agent-driven exploration into repeatable, deterministic tests for iOS and Android, graduate to mobilewright.
- 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.
- Mobile Next Cloud — 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 meto get started.
🚀 Roadmap
We're continuously improving Mobile MCP. See what we're building next in ROADMAP.md — priorities are shaped heavily by community feedback, so tell us what you'd like to see.
🤝 Contributing
Contributions are welcome — code, docs, bug reports, and ideas.
- ⭐ Star the repo — the easiest way to help others discover Mobile MCP.
- Read CONTRIBUTING.md for how to build, test, and open a pull request.
- Browse open issues to find something to work on.
- Questions and ideas are also welcome in our Slack community.
Please also review our Code of Conduct.
Thanks to all contributors ❤️
We appreciate everyone who has helped improve this project.
[图片]Privacy Policy
Mobile MCP runs locally and communicates only with the devices you connect. See the Mobile Next privacy policy at https://mobilenext.ai/privacy for data collection, usage, retention, and contact information.
来源:README.md,提交 1025dd0
工具
0版本历史
10- v1.0.16最新Nov 3, 2026
- v1.0.15Oct 30, 2026
- v1.0.14Oct 26, 2026
- v1.0.13Oct 25, 2026
- v1.0.12Oct 18, 2026
- v1.0.11Oct 14, 2026
- v1.0.10Oct 11, 2026
- v1.0.8Oct 2, 2026
- v1.0.7Oct 1, 2026
- v1.0.3Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分