mobilerun

MCP serverAI & models

MobileRun lets your AI control real Android and iOS devices, so it can use apps the way a person does. Once added, your agent can tap, swipe, and type on a device to carry out tasks and work through multi-step flows for you.

Use mobilerun in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add mobilerun and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use mobilerun

Details

Available today. Use it from your connected AI after setup.

After adding it, tell your AI which Android or iOS device to use and describe the task or flow you want done. Your agent will then interact with the device to complete it.

mobilerunStart free

What your AI can do with it

  • Tap buttons and menus on Android or iOS devices
  • Swipe and scroll through screens
  • Type text into apps and forms
  • Automate multi-step flows from start to finish
  • Work across both Android and iOS devices

Install mobilerun

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user mobilerun 'https://api.mobilerun.ai/v1/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.mobilerun.ai/v1/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=mobilerun&config=eyJ1cmwiOiJodHRwczovL2FwaS5tb2JpbGVydW4uYWkvdjEvbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.mobilerun.ai/v1/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add mobilerun --url 'https://api.mobilerun.ai/v1/mcp'

    Run it once, then sign in with codex mcp login mobilerun if the server asks for an account.

From the project's README

As published by droidrun/mobilerun in README.md.

Mobilerun is an open-source framework for controlling Android and iOS devices with LLM agents. It gives agents mobile-native tools to inspect UI state, understand screenshots, tap, swipe, type, plan multi-step workflows, and return results through a CLI or Python API.

📕 Documentation · ☁️ Mobilerun Cloud · 🛡️ Mobile Harness

Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文

  • 🤖 Control Android and iOS devices with natural language commands
  • 🔀 Use OpenAI, Anthropic, Gemini, xAI, Ollama, DeepSeek, OpenRouter, and OpenAI-compatible models
  • 🧠 Run direct tasks or enable reasoning mode for complex multi-step automation
  • 💻 Automate from the CLI, a terminal UI, Docker, or Python code
  • 🐍 Extend agents with custom tools, structured output, app cards, and credentials
  • 📸 Combine accessibility trees with screenshots for visual understanding
  • 🫆 Trace execution with Arize Phoenix or Langfuse

Use the framework when you want to run the agent on your machine. Use Mobilerun Cloud when you want a ready-to-go solution for your local phones or cloud-hosted virtual/physical phones, managed infrastructure, and API-driven device workflows without running the agent on your local machine. Check out our benchmark results.

📦 Installation

Note: Python 3.14 is not currently supported. Please use Python >=3.11,<3.14.

Install Mobilerun with uv:

# CLI usage
uv tool install mobilerun
# CLI + Python integration
uv pip install mobilerun

Most LLM providers are included by default. For Anthropic support, install the optional extra:

uv tool install "mobilerun[anthropic]"

🚀 Quickstart

uv tool install mobilerun
mobilerun setup
mobilerun configure
mobilerun run "Open settings and turn on dark mode"

Before starting, make sure you have ADB installed and an Android device with Developer options and USB debugging enabled. iOS setup is supported separately through the iOS Portal flow.

1. Install the Portal on your device

mobilerun setup

This installs the Mobilerun Portal app, enables its accessibility service, and prepares the device for local control.

2. Verify the connection

mobilerun ping

You should see confirmation that the Portal is installed and accessible.

3. Configure your LLM provider

mobilerun configure

The wizard walks you through choosing a provider, auth method, and model. You can also use provider environment variables such as GOOGLE_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, or MINIMAX_API_KEY.

4. Run your first command

mobilerun run "Open the settings app and tell me the Android version"

Useful run options:

mobilerun run "Open settings and turn on dark mode"
mobilerun run "What app is currently open?" --vision
mobilerun run "Find a contact named John and send him an email" --reasoning
mobilerun run "Take a screenshot" --ios
mobilerun run "Open Settings" --steps 30 --debug

Read the full framework documentation.

⚙️ Features

  • CLI: Run one-off natural language tasks, inspect devices, replay macros, and debug from the terminal.
  • Python API: Build custom mobile automation workflows with Python and use custom tools.
  • Android and iOS support: Control Android through the Portal app or target iOS through the iOS Portal flow.
  • Portal-based control: Use UI trees, screenshots, text input, gestures, app launching, and device state from the Portal runtime.
  • Vision mode: Send screenshots to the LLM with --vision, or use screenshot-only control with --vision-only (useful for the apps that do not have a11y tree information).
  • Reasoning mode: Use --reasoning for manager-executor planning on longer or more complex tasks.
  • Tracing and telemetry: Debug execution with Arize Phoenix, Langfuse, saved trajectories, and detailed logs.
  • Structured output: Return structured data from mobile workflows.
  • App cards and custom tools: Add app-specific guidance to make agent perform better on your use-cases.
  • Docker: Run Mobilerun in a container for repeatable local environments.

☁️ Framework vs Cloud

Mobilerun FrameworkMobilerun Cloud
Best forRunning agents locally on your own machine and devicesReady-to-go local phone control, hosted real or virtual devices, API workflows, and managed device operations
RuntimeYour machineMobilerun-managed infrastructure
InterfaceCLI, Docker, and Python APIDashboard, REST API, SDKs, and hosted devices

Use the framework when you want full local control of the agent runtime. Use Mobilerun Cloud when you want managed devices, fleet workflows, or cloud APIs without running the agent locally. Learn more in the framework overview and the cloud docs.

Which should I choose?

  • Choose Mobilerun Framework for local agent execution and code-level control.
  • Choose Mobilerun Cloud for managed phones, APIs, and scale without running agents locally.

Cloud Device Types

Device typeWhat it isBest for
PersonalYour own hardware connected to Mobilerun CloudQuick automation on devices you own
Cloud Phone (Hosted)Instantly available cloud-hosted phoneScalable hosted automation
Physical Phone (Hosted)Real hardware with stronger identity characteristicsWorkflows that need high device authenticity and trust

Automate WhatsApp on a Cloud Phone

Generate leads with Google Maps on a Cloud Phone

🧩 Agent Skill

Give Claude Code, Codex, or another coding agent direct control of Android and iOS devices with the mobile-harness skill. Copy paste it into your agent:

Set up https://github.com/droidrun/mobile-harness for me.

Read `install.md` and follow the steps to install `mobile-harness`.

The skill teaches the agent to drive local devices (ADB, Portal, iOS Simulator) and Mobilerun Cloud phones.

🎬 Demo Videos

Book accommodation from a prompt

Shows multi-step navigation, text input, and app-state reasoning while Mobilerun searches for accommodation.

Find trending content

Shows browsing, app navigation, and result extraction from a natural-language task.

💡 Example Use Cases

  • Mobile app QA and regression testing
  • Guided workflows for non-technical users
  • Repetitive task automation on mobile devices
  • Event-driven automation from schedules, notifications, or custom triggers
  • Data extraction from native mobile apps
  • Running automations on multiple devices at once

📚 Documentation

👥 Contributing

Contributions are welcome. Please feel free to submit a pull request or open an issue.

📄 License

This project is licensed under the MIT License. See LICENSE for details.

Security Checks

To help catch security issues before submitting changes, run:

bandit -r mobilerun
safety scan

Signals

GitHub stars
10k
Forks
1k
Last commit
Oct 2026

What people say

Users report using MobileRun (mostly as an OpenClaw skill) to let agents control real phones — swiping, tapping, and automating apps like social media — and describe it as mind-blowing and fun. There are no recurring complaints in these posts; most content is enthusiasm or promotional, so consensus is thin beyond 'it works for phone control.'

Praised for
lets agents control real phones (tap/swipe/type)
works as an OpenClaw skill
fun to use with old devices

Summarized from 19 public posts. Opinions are theirs, not Ahel's.

Advanced
Delivery
mobilerun MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-droidrun-mobilerun
Source
github.com/droidrun/mobilerun
Hosted endpoint
https://api.mobilerun.ai/v1/mcp