MobAI MCP
MCP (Model Context Protocol) server for MobAI (https://mobai.run) - AI-powered mobile device automation
MobAI MCP Server
MCP (Model Context Protocol) server for MobAI - AI-powered mobile device automation. This server enables AI coding assistants like Cursor, Windsurf, Cline, and other MCP-compatible tools to control Android and iOS devices, emulators, and simulators.
Features
- Device Control: List, connect, and manage Android/iOS devices
- UI Automation: Tap, type, swipe, and interact with native apps
- Web Automation: Control Safari/Chrome and WebViews with CSS selectors
- DSL Batch Execution: Execute multiple automation steps efficiently
- AI Agent: Run autonomous agents to complete complex tasks
- Screenshot Capture: Capture and save device screenshots
Prerequisites
- Node.js 18+
- MobAI desktop app running locally (provides the HTTP API on port 8686)
- Connected Android or iOS device (or emulator/simulator)
Installation & Configuration
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"mobai": {
"command": "npx",
"args": ["-y", "mobai-mcp"]
}
}
}
Claude Desktop
Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"mobai": {
"command": "npx",
"args": ["-y", "mobai-mcp"]
}
}
}
Windsurf
Add to Windsurf MCP config:
{
"mcpServers": {
"mobai": {
"command": "npx",
"args": ["-y", "mobai-mcp"]
}
}
}
Cline / Other MCP Clients
Configure according to your client's MCP server setup. The server uses stdio transport.
{
"command": "npx",
"args": ["-y", "mobai-mcp"]
}
Available Tools
Device Management
list_devices- List all connected devicesget_device- Get device informationstart_bridge- Start on-device automation bridgestop_bridge- Stop automation bridge
UI Automation
get_screenshot- Capture device screenshotget_ui_tree- Get accessibility treetap- Tap element by index or coordinatestype_text- Type textswipe- Perform swipe gesturego_home- Navigate to home screenlaunch_app- Launch app by bundle IDlist_apps- List installed apps
DSL Execution
execute_dsl- Execute batch automation script
AI Agent
run_agent- Run autonomous agent for complex tasks
Web Automation
web_list_pages- List browser tabs/WebViewsweb_navigate- Navigate to URLweb_get_dom- Get DOM treeweb_click- Click element by CSS selectorweb_type- Type into element by CSS selectorweb_execute_js- Execute JavaScript
Low-Level
http_request- Make raw HTTP request to MobAI API
Available Resources
mobai://api-reference- Complete API documentationmobai://dsl-guide- DSL batch execution guidemobai://native-runner- Native app automation guidemobai://web-runner- Web automation guide
Example Usage
List devices and take screenshot
Use the list_devices tool to see connected devices.
Then use get_screenshot with the device ID.
Automate Settings app
Use execute_dsl with:
{
"version": "0.2",
"steps": [
{"action": "open_app", "bundle_id": "com.apple.Preferences"},
{"action": "delay", "duration_ms": 1000},
{"action": "observe", "context": "native", "include": ["ui_tree"]},
{"action": "tap", "predicate": {"text_contains": "General"}}
]
}
Run AI agent
Use run_agent with device_id and task: "Open Settings and enable WiFi"
Comparison with Claude Code Plugin
| Feature | Claude Code Plugin | MCP Server |
|---|---|---|
| Platform | Claude Code only | Any MCP client |
| Tools | http_request (generic) | Named tools + http_request |
| Resources | Skills (markdown) | MCP resources |
| Setup | Plugin install | npx |
The MCP server provides the same functionality as the Claude Code plugin but works with any MCP-compatible AI tool.
Troubleshooting
"Connection refused" error
- Ensure MobAI desktop app is running
- Check that API is available at http://127.0.0.1:8686
"Bridge not running" error
- Use
start_bridgetool first before automation - iOS bridge may take up to 60 seconds to start
Screenshots not visible
- Screenshots are saved to
/tmp/mobai/screenshots/ - Use your AI tool's file reading capability to view them
Development
# Clone the repository
git clone https://github.com/MobAI-App/mobai-mcp.git
cd mobai-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally
node dist/index.js
License
Apache 2.0 - see LICENSE for details.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP Java Bridge
A bridge for the MCP Java SDK that enables TCP transport support while maintaining stdio compatibility for clients.
Optuna MCP Server
Automate optimization and analysis using Optuna.
DevContainer MCP Server
Manage DevContainer environments using natural language prompts in any MCP-compatible editor.
DocsetMCP
A server for accessing Dash-style documentation sets locally. Requires a local Dash installation.
Plugged.in
A comprehensive proxy that combines multiple MCP servers into a single MCP. It provides discovery and management of tools, prompts, resources, and templates across servers, plus a playground for debugging when building MCP servers.
Remote MCP Server (Authless)
An authentication-free remote MCP server deployable on Cloudflare Workers.
Text-To-GraphQL
MCP server for text-to-graphql, integrates with Claude Desktop and Cursor.
Kirby MCP
CLI-first MCP server for composer-based Kirby CMS projects—inspect blueprints/templates/plugins, interact with a real Kirby runtime, and use a bundled Kirby knowledge base.
Agentic Tools MCP Companion
A VS Code extension with a GUI for the agentic-tools-mcp server, enhancing task and memory management.
Agent VRM MCP Server
A server that provides VRM avatar functionality for Large Language Models (LLMs) by connecting to an AgentVRM engine.