Give your AI a phone.
Ship better mobile apps.
Plug Claude Code, Codex, or Cursor into a real phone or simulator. Or use MobAI's own built-in agent. Either way, your AI taps, scrolls, and types through any iOS or Android app. Build features faster, catch bugs sooner, ship with more confidence.
macOS · Windows · Linux. Free tier. No credit card. Downloaded 2,000+ times.
Plug into the AI tool you already use
What you actually get
Three ways to ship a better app
No new framework to learn. No flaky scripts. Your AI handles the boring parts so you can keep building.
Build faster
AI that uses your app
Stop describing the UI to Claude or Cursor in screenshots. They watch your app run, tap through it, and verify their own changes while you keep coding.
Catch bugs sooner
Tests that heal themselves
Tell AI what to test in plain English. It writes the script. When you change the UI, it patches the test and re-runs. No more flakes, no more "tests are too much work."
Ship and grow
Polished demos in minutes
Ask your agent to record a demo. Get a phone-framed video with tap ripples and captions, ready for App Store, X, or TikTok. No video editor needed.
See it in action
One prompt. A coffee break. A full bug report.
Hand your AI a prompt like "open this app and walk every flow." It explores the whole thing on its own, finds the bugs you'd miss, and gives you a written summary. No setup. No scripts. No XCUITest.
What makes this different
- ✓One prompt to start. The agent figures out the rest, no setup, no scripts.
- ✓No hardcoded coordinates. No XCUITest. No Appium config.
- ✓Reads device logs as it explores. Catches the bugs traditional QA misses.
- ✓Save the run as a .mob script. Replay forever as a regression test.
- ✓Works on iOS and Android. Real devices or simulators.
- ✓A structured bug report. Not a folder of screenshots.
Build with AI
Your AI tool can finally use your app
Until now, Claude Code or Cursor could read your code but couldn't actually run your app. MobAI fixes that. Hook up your favorite AI tool, or use MobAI's built-in agent. Power users get a Python harness, CLI, and HTTP API.
Pick the AI you already use
Same thing under the hood. Pick whichever way fits how you already work.
For most people
The built-in agent
Open MobAI, describe what you want, and the agent does it. No external tool, no config.
For AI-coding-tool users
Claude Code, Codex, Cursor, OpenCode…
One command and your AI tool can drive the phone. Works with anything that supports MCP.
For Python folks
mobile-harness
Write your automation in Python. The harness improves itself every run as your agent fills in what was missing.
For scripts & CI
CLI and HTTP API
Any language, any shell, any CI step. Drop into bash, Node, or GitHub Actions with no new dependency.
# or: POST localhost:8686/...
Wrap any app flow as a callable API
Some apps just don't have an API. With MobAI, you can wrap a flow ("search YouTube and grab the first result") as an HTTP call your code or other AI tools can use. No reverse engineering, no scraping web mirrors.
# /apis/youtube-search.mob # Param: query launch "YouTube" tap "Search" type "Search" ${query} tap_first result extract first_result from title
$ curl localhost:8686/api/v1/apis/run/youtube-search \ -d '{"query":"lo-fi beats"}' ↳ { "first_result": "lo-fi hip hop radio", "channel": "Lofi Girl", "views": "143M" } # Works from Python, Node, or any HTTP client
Good for: pulling data from apps that don't have a public API, plugging legacy mobile flows into modern backends, letting agents call apps as tools.
Polished demo videos in 30 seconds
Powered by mobile-recorder-skill. Ask your agent: "Record a 30-second demo of MyApp on iPhone 16 Pro." You get a video with phone bezel, tap ripples, captions, and the right format for App Store, X, or TikTok. No video editor, no designer.
› Record a 30-second demo of MyApp on iPhone 16 Pro → AI explores the app → writes a coordinate-only .mob → records native pixels through MobAI → ffmpeg adds phone bezel, tap ripples, captions → exports demo.vertical.mp4, ready for App Store, X, or TikTok
- ✓ Phone bezel, tap ripples, captions baked in
- ✓ Reproducible: same prompt, same video
- ✓ iOS Simulator, real iOS, real Android
- ✓ No video editor, no designer
For desktop and web app demos: desktop-recorder-skill.
Your AI can pop the hood on iOS bugs
When something breaks, MobAI lets your AI attach a real debugger to the running iOS app. It can set breakpoints, walk the call stack, and read variable values, then tell you what went wrong in plain English.
› The crash is in the cart view. Find it and tell me why. → AI attaches debugger → sets breakpoint at View.swift:42 → walks the stack → cart.items is nil because the fetch hasn't resolved
- ✓ Real LLDB under the hood
- ✓ Breakpoints, watchpoints, eval
- ✓ Inspect stack and threads
- ✓ Agent finds and explains the bug
Test with AI
A test suite that writes and fixes itself
Most teams skip mobile tests because writing them is painful and they break every UI change. MobAI flips both: AI writes the test from a plain English description, and when your UI shifts, AI patches the test and re-runs.
.mob, readable test scripts
Tap. Type. Wait for a screen. Check something is there. The same file runs on iOS and Android.
tap "Sign in" type "Email" "[email protected]" type "Password" "hunter2" tap "Continue" wait_for "Welcome, Alice" ✓ pass
- ✓ One file, iOS and Android
- ✓ Compose:
run "./auth/login.mob" - ✓ Capture values and screenshots
- ✓ Reads like Maestro. Easy switch.
Describe a test. Get a test.
No more "we'll add tests later." Tell AI what you want covered, and it figures out the taps.
You: Test that signing up with an email that's already used shows an error. → AI opens your app, walks signup, finds the right buttons by name, writes signup_dup_email.mob
- ✓ Walks the live app to find the right elements
- ✓ You can edit the script. It's just text.
- ✓ Re-run it forever
Tests don't break when your UI changes
Rename a button from "Continue" to "Get started" and the old test would fail. With MobAI, AI reads the new screen, patches the test, runs it again, and hands you a clean diff to commit.
✗ FAIL: "Continue" not found at step 4 → AI sees "Get started" replaced it → patches script · re-runs · passes → commits the diff to your suite
- ✓ Fewer flaky test alerts
- ✓ Diff is small enough to review
- ✓ Always re-runs to verify
Every test, every phone, in parallel
Hook up the phones on your desk. MobAI runs them all at once. Your full suite finishes in the time of the slowest test, not the sum.
Same test, many phones
Catch the layout that breaks on Pixel 6 but not iPhone 15. Same flow, every device, in parallel.
Whole suite, every phone
Half a day of QA becomes 8 minutes. Run every script on every connected device, at the same time.
Catch janky animations frame-by-frame
Screenshot tests miss layout shifts, dropped frames, and texture glitches. MobAI records frame-by-frame and compares against a known-good baseline.
record_start tap "Start onboarding" wait_for "Welcome" record_stop "onboarding-anim" assert_animation_baseline "onboarding-anim"
- ✓ Catch dropped frames before users do
- ✓ Spot layout shifts screenshots miss
- ✓ Baseline comparison, easy to update
Don't ship a slower app by accident
Set thresholds for FPS, memory, and startup time. If a change makes things worse, the test fails. Measured on real hardware, not your laptop.
measure_perf tap "Open feed" wait_for "Latest stories" assert_perf fps >= 55 assert_perf startup_ms < 800 assert_perf memory_mb < 220
- ✓ Real-device numbers, not simulator estimates
- ✓ Fails the build on regressions
- ✓ See trends across runs
Get started
Three steps. Two minutes.
-
01
Download MobAI
macOS, Windows, or Linux. Native app, no install pain.
-
02
Plug in a phone (or open a simulator)
Auto-detected. No driver hunt.
-
03
Pick how you want to use it
Built-in agent (easiest), your AI coding tool, Python, or any HTTP client.
$ npx mobai-mcp # for Claude Code, Cursor, etc.
Yours, not ours
Everything runs on your machine
- ● Your app, screenshots, and UI data never leave your laptop.
- ● No telemetry. At all.
- ● Network calls only for license check and updates.
Pricing
Pick the plan that fits how you build.
Open source tools stay free regardless of plan.
| Free | Plus $4.99/mo | Pro $9.99/mo | |
|---|---|---|---|
| Devices | 1 | 1 | Unlimited |
| Daily AI usage | 100 pts/day | Unlimited | Unlimited |
| Machines | 1 | 1 | 3 |
| Testing mode | ✓ | ✓ | ✓ |
| AI test gen & fix | 20 pts/run | Unlimited | Unlimited |
| Suite runs | no | Sequential | Parallel |
| Multi-device runs | no | no | ✓ |
| Offline mode | no | no | 7 days |
| Annual option | no | no | $99/yr |
Free
$0
Plus
$4.99/mo
Pro
$9.99/mo · $99/yr
Need something enterprise-shaped? Talk to us
Open source
Stuff we built and released
All free, all on GitHub.
mobile-harness
Python harness for AI agents that drive iOS and Android.
mobile-recorder-skill
Polished demo videos from a single prompt.
desktop-recorder-skill
Same idea, for desktop and web apps (macOS).
mobai-mcp
Connects Claude Code, Codex, Cursor, and friends.
ios-builder
Build iOS apps from Windows or Linux. No Mac required.
FAQ
Things people ask
MobAI is a desktop application that gives AI coding agents like Claude Code, Codex, and Cursor the ability to see and control mobile devices. It provides an MCP server and HTTP API so AI agents can take screenshots, read UI elements, tap, swipe, type, and run tests on Android and iOS.
MobAI works with anything that supports MCP, including Claude Code, Codex, Cursor, OpenCode, Aider, and Cline. There's also a built-in agent that runs inside the desktop app itself, so no external tool is required.
Yes. iOS devices, Android devices, iOS simulators, and Android emulators are all supported with the same workflow.
There is a free tier with 1 device and a 100-point daily quota. Plus is $4.99/mo for unlimited daily usage. Pro is $9.99/mo for unlimited devices, parallel suite runs, multi-device runs, and 7-day offline mode.
No. MobAI runs entirely on your machine. Screenshots, UI data, and your app's contents never leave your laptop. Network calls are limited to license validation and updates. No telemetry on automation runs.
MobAI is a native desktop app for macOS, Windows, and Linux.
Testing Mode lets you describe a test in plain English and have AI generate a .mob script (a readable DSL with commands like tap, type, wait_for, assert). When a test fails after a UI change, AI reads the new screen, patches the script, and re-runs to verify. Tests run identically on iOS and Android.
Yes on the Pro plan. Run a single .mob script across every connected device at once, or run an entire suite across every phone in parallel. The suite finishes in the time of the slowest test, not the sum.
Yes, with our open source mobile-recorder-skill installed in your agent. Once set up, ask "Record a 30-second demo of MyApp on iPhone 16 Pro." You get a polished video with phone bezel, tap ripples, captions, and the right export format for App Store or social. No video editor needed.
Yes. MobAI exposes LLDB-style debugging from the CLI, MCP, and the embedded agent. The agent can attach to a running iOS process, set breakpoints, step in/out/over, evaluate Swift and ObjC expressions, and inspect stack, locals, and threads.
Animation testing records frame-by-frame to catch dropped frames, layout shifts, and texture glitches that screenshot diffs miss. Performance testing captures FPS, frame time, memory, CPU, and startup time on real hardware so you can fail a build if the app gets slower.
Unlike traditional frameworks that require writing test scripts in code, MobAI lets AI write and heal tests for you in a single readable format that works on iOS and Android. Everything runs locally, integrates with AI coding tools through MCP, and ships with a built-in agent.
Yes. MobAI provides web automation for Safari, Chrome, and WebViews on both iOS and Android. You can use CSS selectors, execute JavaScript, manipulate the DOM, navigate, and interact with web content.
mobile-harness is our open source Python harness for AI agents that drive iOS and Android via MobAI. It's a thin, editable workspace where the agent writes the bits that were missing during execution, so the harness improves itself every run.
DSL execution lets you run precise, multi-step automation in a single API call. It supports 20+ action types including taps, swipes, typing, assertions, conditional logic, and retry strategies. Smart element matching uses text, labels, types, and spatial relationships to find elements reliably.
ios-builder is our open source CLI that lets you build iOS apps from Windows, Linux, or any platform without a Mac. It uses GitHub Actions to run Xcode builds remotely and MobAI to deploy and test on real iOS devices.