MobAI MCP
The MobAI MCP server: an agent controls Android and iOS devices, emulators and simulators through one DSL scenario tool.
- 254 ★ on the repository
- Last commit
Extended access
Why this level
- Controls a connected device: taps, types, installs and uninstalls apps.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mobai-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Controls a connected device: taps, types, installs and uninstalls apps.
This is third-party code. Review the repository files before installing.
What it does
MobAI MCP links assistants such as Claude Code, Cursor, Windsurf and Cline to the MobAI mobile device automation app. The main action goes through one tool, `execute_dsl`: dozens of fine-grained commands like tap and swipe are not needed because it accepts a JSON script with a sequence of steps, conditions, assertions and waits. This cuts the number of round trips between the model and the device. Companion tools cover devices (`list_devices`, `get_device`, `start_bridge`, `claim_device`), screenshots (`get_screenshot` for model analysis and `save_screenshot` in full quality), apps (`list_apps`, `install_app` for `.apk` and `.ipa`, `uninstall_app`, `debug_app`) and `.mob` tests that live as files in the project. MCP is needed only to discover projects and run tests, and the agent edits the files with ordinary tools.
Who it is for. Mobile developers and testers who run scenarios on real devices and simulators and want to hand the routine to an agent.
Good fit when
- An agent installs an `.apk` build on a connected phone and walks through the sign-in screen.
- A scenario with waits and assertions runs in one call, with no dozens of separate taps.
- An app launches in debug mode and the output goes to a log file.
- A `.mob` test file is edited in the project and run through MCP.
Not a fit when
- The MobAI app is not running on the machine, and the server works only through its local API.
- No device, emulator or simulator is connected.
- You need a cloud device farm, while the server controls local devices.
Example request
Install the debug build app-debug.apk on the connected Android, open the sign-in screen, enter test data and take a screenshot of the result.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
It needs Node.js 18 or newer and the MobAI desktop app running with its HTTP API on `127.0.0.1:8686`. A device, emulator or simulator must be connected, and the bridge is started with `start_bridge` before working on a device. The agent can install and uninstall apps (`install_app`, `uninstall_app`), so connect test devices. A device is held exclusively for a session, and `release_device` frees the lease. The repository contains only a TypeScript wrapper, and the capabilities come from the app.
How to disable. Remove the mobai entry from the MCP configuration (`claude mcp remove mobai`). The MobAI app and `.mob` tests stay as they were.
FAQ
How do I connect MobAI MCP to Claude Code?
Start the MobAI app and run `claude mcp add mobai -- npx -y mobai-mcp`. For Cursor and Claude Desktop add an `mcpServers` entry with the command `npx` and the arguments `-y mobai-mcp`.
Why is there one main tool?
`execute_dsl` takes a batch of steps with conditions, waits and assertions, so the model does not make dozens of calls for every tap. The other tools handle devices, screenshots, apps and tests.
How do the two screenshot tools differ?
`get_screenshot` is fast and low quality for model analysis, may be downscaled, and the response carries the scale factor. `save_screenshot` writes a full-quality PNG to disk for reporting.
What are `.mob` files?
MobAI tests live on disk inside project folders. The agent reads and edits them with file system tools and MobAI updates its UI on changes. MCP is used to find and run them.
Do I need to claim a device by hand?
Usually not: acting on a free device claims it automatically. `claim_device` takes it explicitly and `release_device` frees one or all devices of the session.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots
Mobile Device MCP controls iOS and Android: taps, typing, screenshots and the element tree, with several devices at once
An MCP server that drives an Android device over ADB: app navigation, input and automated tests
AutoMobile lets an agent control Android and iOS devices in plain language: explore an app, reproduce bugs and write UI tests
An MCP server that lets an agent drive Android, the iOS Simulator, HarmonyOS, Aurora, desktop and browser, take screenshots and debug apps
Appium MCP
appium-mcp
An agent opens sessions on emulators and real devices, finds elements by description and writes Java tests via the Appium server.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| MobAI MCP (this card) | yes | not required | 254 | |
| Mobile MCP | no | not required | 10,529 | drives devices through the accessibility tree and screenshots with separate commands; MobAI MCP packs steps into one DSL scenario |
| Android MCP | no | not required | 924 | drives Android through ADB; MobAI MCP also covers iOS and runs `.mob` tests |
README in short
The repository is small: the server code lives in `src/index.ts` and `src/resources.ts`, and work goes through the local HTTP API of the MobAI app.