Automation & Ops android-automationios-automationmobile-testingclidockernatural-language

Mobilerun

An open-source framework to control Android and iOS devices with LLM agents using natural language commands.

FollowAgents review · FARS-2.1
Not recommended
43/ 100 5-point scale 2.2 / 5
1 2 3 4 5 6
1Trust8 / 29 · 1.4/5

Evidence: README mentions security checks (bandit, safety) but lacks specific security design details. User confirmation mechanism not clearly stated, data flow transparency limited, sensitive data handling (e.g., API keys) not detailed. Dependency security: dependencies listed but no vulnerability scan results. External effects (e.g., device control) exist but permission boundaries unclear. Rollback not mentioned. Source attribution: author and license clear, but publisher unverified. Deductions: lack of concrete security implementation details and user confirmation process.

2Reliability6 / 14 · 2.1/5

Evidence: Test files (e.g., test_android_vision_coordinate_contract.py) show internal consistency, but dependency availability unverified (e.g., external services). Failure messages partially shown in tests (e.g., coordinate conversion errors), but overall failure handling documentation insufficient. Deductions: dependency on external services (LLM providers) not guaranteed, failure message coverage incomplete.

3Adaptability10 / 18 · 2.8/5

Evidence: README lists multiple use cases (QA, automation, etc.), capability boundaries documented (e.g., Android/iOS support), trigger precision partially shown in tests (e.g., coordinate conversion), environment fit (e.g., Python version, ADB) described. Deductions: trigger precision only partially covered, environment fit relies on external tools (ADB) not detailed.

4Convention9 / 18 · 2.5/5

Evidence: README provides installation instructions, examples, documentation links, license clear (MIT), version in pyproject.toml. But changelog missing, maintenance responsibility unclear (publisher unverified). Deductions: no changelog, maintenance responsibility unclear.

5Effectiveness7 / 13 · 2.7/5

Evidence: Output usability (e.g., structured output) documented, marginal value (e.g., mobile automation) clear, cost-benefit (e.g., free open source) mentioned. Deductions: cost-benefit not detailed (e.g., LLM call costs).

6Verifiability3 / 8 · 1.9/5

Evidence: Claims in README (e.g., benchmark 91.4%) lack verifiable test data, test files provide partial verification, but cross-source verification insufficient. Facts and inferences not clearly separated. Deductions: claims lack traceability, cross-source verification limited.

Evidence confidence: Low Reviewed Aug 11, 2026 Reviewed revision 52dd3acee400
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Safety controls not found in source: rollback or recovery path
Before you use it
  • Publisher unverified, maintenance responsibility unclear.
  • Reliance on external LLM providers, availability not guaranteed.
  • No changelog, version evolution opaque.
  • Security design details insufficient, user confirmation mechanism not explicit.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this agent do, and when should you use it?

Mobilerun is an open-source framework for controlling Android and iOS devices via LLM agents. It provides a CLI and Python API to let agents inspect UI state, understand screenshots, tap, swipe, type, plan multi-step workflows, and return results. The framework supports a wide range of LLM providers, including OpenAI, Anthropic, Gemini, Ollama, DeepSeek, and OpenRouter. Device control is achieved through the Portal app, with optional vision and reasoning modes for enhanced capability. It can be run locally or used via Mobilerun Cloud for managed infrastructure and device fleets.

Mobilerun accepts natural language commands via CLI, e.g., mobilerun run "Open settings and turn on dark mode". It installs the Mobilerun Portal app on devices, enables accessibility services, and connects via ADB. The framework captures UI trees and screenshots, sends them to an LLM for understanding, and executes actions like tap, swipe, and type. It supports --vision mode for screenshot analysis and --reasoning mode for complex multi-step planning. Tracing with Arize Phoenix or Langfuse is available for debugging.

  1. Mobile QA engineers automate regression testing on Android/iOS apps.
  2. Non-technical users guide their phone through complex tasks via natural language, such as booking accommodation.
  3. Developers automate repetitive mobile tasks like daily streaks or data extraction.
  4. Teams run automations across multiple devices simultaneously, such as device farms.
  5. Event-driven automation triggers phone actions based on schedules or notifications.

What are this agent's strengths and limitations?

Pros
  • Model-agnostic with support for multiple LLM providers.
  • Supports both Android and iOS with a customizable Portal app.
  • Offers CLI, Docker, and Python API for flexible integration.
  • Vision and reasoning modes enhance complex task handling.
  • Integrated tracing and structured output for debugging and integration.
Limitations
  • Requires Python version range (>=3.11,<3.14), not yet supporting 3.14.
  • Requires manual setup of ADB and enabling developer options and USB debugging on devices.
  • iOS setup may require additional Portal flow configuration.
  • Local usage requires managing LLM API keys and costs.
  • For apps without accessibility trees, vision mode may be needed and could have limitations.

How do you install or deploy this agent?

Install the CLI using uv: uv tool install mobilerun. For Python integration, run uv pip install mobilerun. To add Anthropic support, install the extra: uv tool install "mobilerun[anthropic]". Requires Python >=3.11,<3.14 and ADB installed on your system.

How do you use this agent?

  1. Run mobilerun setup to install the Portal app on your device and enable accessibility. 2. Verify connection with mobilerun ping. 3. Configure your LLM provider via mobilerun configure (e.g., OpenAI, Anthropic). 4. Execute a task with mobilerun run "Open settings and tell me the Android version". Optional flags include --vision and --reasoning.

FAQ

What is the difference between Mobilerun Framework and Mobilerun Cloud?
Framework runs locally on your machine and devices; Cloud is a managed service providing hosted devices, APIs, and infrastructure without running the agent locally.
Which LLM providers are supported?
By default, OpenAI, Anthropic, Gemini, Ollama, DeepSeek, OpenRouter, and OpenAI-compatible models. Anthropic requires an optional extra installation.
What are the hardware and software requirements?
You need Python 3.11-3.13, ADB, and an Android or iOS device with developer options and USB debugging enabled.
How can I debug a running task?
Use the --debug flag, or integrate with Arize Phoenix and Langfuse for tracing and logging.
Does this framework support cloud devices?
Not directly, but Mobilerun Cloud offers hosted virtual and physical phones that can be used via APIs.

Related agents