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
MCP serverOfficial

Extended access

Why this level

  • Controls a connected device: taps, types, installs and uninstalls apps.
All reasons and checks

mobai-app/mobai-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mobai-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

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

An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots

MCP serverBroad access10.5KRepository stars

Mobile Device MCP controls iOS and Android: taps, typing, screenshots and the element tree, with several devices at once

MCP serverBroad access53Repository stars

An MCP server that drives an Android device over ADB: app navigation, input and automated tests

MCP serverBroad access924Repository stars

AutoMobile lets an agent control Android and iOS devices in plain language: explore an app, reproduce bugs and write UI tests

MCP serverBroad access56Repository stars

An MCP server that lets an agent drive Android, the iOS Simulator, HarmonyOS, Aurora, desktop and browser, take screenshots and debug apps

MCP serverBroad access384Repository stars

Appium MCP

appium-mcp

Official

An agent opens sessions on emulators and real devices, finds elements by description and writes Java tests via the Appium server.

MCP serverBroad access517Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
MobAI MCP (this card)yesnot required254
Mobile MCPnonot required10,529drives devices through the accessibility tree and screenshots with separate commands; MobAI MCP packs steps into one DSL scenario
Android MCPnonot required924drives 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.

README badge

Report a problem