
Mobai Mcp
Routes MCP commands to the MobAI desktop app's HTTP API for controlling Android and iOS devices, emulators, and simulators. The core tool is execute_dsl, which batches tap, swipe, type, wait_for, and assertion steps into a single JSON script to minimize round trips. Companion tools handle device discovery, screenshots (low quality for LLM vision, full quality to disk), app installation, and running .mob test files from disk. The server expects MobAI running locally on port 8686 and requires starting a bridge on target devices before interaction. Useful when you need AI coding assistants to script mobile UI automation workflows or debug apps across devices without writing one-off platform-specific test harnesses.
- GitHub stars
- 216
- tools
- 16
- transport
- STDIO
- last updated
- Jan 29, 2026
Tools
16 toolsPublic tool metadata for what this MCP can expose to an agent.
list_devicesList all connected Android and iOS devices
List all connected Android and iOS devices
No parameter schema in public metadata yet.
get_deviceGet details about a specific device
Get details about a specific device
No parameter schema in public metadata yet.
start_bridgeStart the automation bridge on a device (required before interaction)
Start the automation bridge on a device (required before interaction)
No parameter schema in public metadata yet.
stop_bridgeStop the automation bridge
Stop the automation bridge
No parameter schema in public metadata yet.
claim_deviceClaim exclusive use of a device for this session (usually optional: acting on an unclaimed device auto-claims it)
Claim exclusive use of a device for this session (usually optional: acting on an unclaimed device auto-claims it)
No parameter schema in public metadata yet.
release_deviceRelease one or all device leases held by this session
Release one or all device leases held by this session
No parameter schema in public metadata yet.
get_screenshotFast, low-quality screenshot for LLM visual analysis (may be downscaled; response includes scale factor)
Fast, low-quality screenshot for LLM visual analysis (may be downscaled; response includes scale factor)
No parameter schema in public metadata yet.
save_screenshotFull-quality PNG to disk for reporting, debugging, or sharing
Full-quality PNG to disk for reporting, debugging, or sharing
No parameter schema in public metadata yet.
list_appsList installed apps on the device
List installed apps on the device
No parameter schema in public metadata yet.
install_appInstall an .apk or .ipa from a local file path
Install an .apk or .ipa from a local file path
No parameter schema in public metadata yet.
uninstall_appUninstall an app by bundle ID / package name
Uninstall an app by bundle ID / package name
No parameter schema in public metadata yet.
debug_appLaunch an app in debug mode and write stdout/stderr to a log file
Launch an app in debug mode and write stdout/stderr to a log file
No parameter schema in public metadata yet.
execute_dslExecute a batch of DSL steps: tap, type, swipe, observe, assertions, web automation, metrics, screen recording, and more.
Execute a batch of DSL steps: tap, type, swipe, observe, assertions, web automation, metrics, screen recording, and more.
No parameter schema in public metadata yet.
test_get_activeGet the active test project directory and its .mob cases
Get the active test project directory and its .mob cases
No parameter schema in public metadata yet.
test_list_projectsList all known test project directories with their .mob cases
List all known test project directories with their .mob cases
No parameter schema in public metadata yet.
test_runRun a .mob test case on a device (project_dir + case_path + device_id, optional params for ${name} substitution)
Run a .mob test case on a device (project_dir + case_path + device_id, optional params for ${name} substitution)
No parameter schema in public metadata yet.
Sponsors
Readme
MobAI MCP Server
MCP (Model Context Protocol) server for MobAI — AI-powered mobile device automation. Lets AI assistants (Claude Code, Cursor, Windsurf, Cline, and other MCP-compatible tools) control Android and iOS devices, emulators, and simulators via a single DSL-first interface.
How it works
All device interaction is batched through one primary tool: execute_dsl. Instead of exposing dozens of fine-grained tools (tap, swipe, type…), the server accepts a JSON script describing a sequence of actions with predicates, assertions, waits, and conditional branches. This keeps round-trips low and encodes retry/failure strategies server-side.
A small set of companion tools handles device discovery, screenshots, app management, and running .mob test files.
Prerequisites
- Node.js 18+
- MobAI desktop app running locally (HTTP API on
127.0.0.1:8686) - A connected Android or iOS device, emulator, or simulator
Details
- Repository
- github.com/mobai-app/mobai-mcp
- Categories
- Automation & Workflows, Mobile Development
- Package
mobai-mcp- Transport
- STDIO
- Registry
- MCP registry, active