PluginBench
MCP Server
Active
MIT

io.github.droidrun/mobilerun MCP Server

io.github.droidrun/mobilerun

Control Android and iOS devices with LLM agents—tap, swipe, type, and automate mobile workflows.

What is the io.github.droidrun/mobilerun MCP server?

The Mobilerun MCP server is an open-source framework that gives LLM agents native control over Android and iOS devices through natural language commands. It enables agents to inspect UI state, understand screenshots, perform gestures, type text, and orchestrate multi-step mobile automation workflows.

Mobilerun lets you automate mobile devices by describing tasks in natural language. Agents can tap, swipe, type, launch apps, and extract data from Android and iOS devices. It supports multiple LLM providers (OpenAI, Anthropic, Gemini, Ollama, etc.), includes vision mode for screenshot understanding, reasoning mode for complex tasks, and integrates with tracing tools like Arize Phoenix and Langfuse.

How to install io.github.droidrun/mobilerun

Copy-paste configuration for popular MCP clients.

transport: http
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • Authorization
    required
    secret

    Bearer token — Mobilerun API key (dr_sk_...), from the app under AI & Agents.

~/.cursor/mcp.json
{
  "mcpServers": {
    "mobilerun": {
      "url": "https://api.mobilerun.ai/v1/mcp"
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • Device control — Tap, swipe, type, and gesture on connected Android and iOS devices
  • UI inspection — Access accessibility trees and UI state from the Portal runtime
  • Screenshot capture — Capture and analyze device screenshots with vision mode
  • App launching — Launch and navigate between apps on the device
  • Text input — Type text and interact with input fields
  • Device state queries — Query device information and current application state
  • Structured output — Return structured data from mobile automation workflows
  • Custom tools — Extend agents with app-specific tools and guidance

Use cases

  • Automate mobile app testing and regression testing workflows
  • Extract data from native mobile apps through natural language commands
  • Maintain recurring app tasks like streaks or daily check-ins automatically
  • Book accommodations or perform multi-step transactions on mobile apps
  • Find and extract trending content from social media apps
  • Automate repetitive tasks across multiple devices simultaneously

io.github.droidrun/mobilerun MCP server FAQ

What is the Mobilerun MCP server?

Mobilerun is an open-source framework that enables LLM agents to control real Android and iOS devices through natural language. It provides tools for UI inspection, screenshots, gestures, text input, and multi-step workflow automation.

Is Mobilerun free?

Yes, Mobilerun is open-source and free to use. There is also a paid Mobilerun Cloud option for managed devices and hosted infrastructure.

How do I install Mobilerun in Cursor or Claude?

Add the remote MCP server at https://api.mobilerun.ai/v1/mcp to your MCP configuration. For local setup, install via `uv tool install mobilerun` and run `mobilerun setup` to configure your device.

What devices does Mobilerun support?

Mobilerun supports Android devices (via the Portal app with ADB) and iOS devices (via the iOS Portal flow). It works with both physical devices and cloud-hosted virtual phones.

What LLM providers does Mobilerun support?

Mobilerun supports OpenAI, Anthropic, Gemini, xAI, Ollama, DeepSeek, OpenRouter, and OpenAI-compatible models. Most are included by default; Anthropic requires an optional extra.

Do I need authentication to use Mobilerun?

You need to configure an LLM provider (OpenAI, Anthropic, etc.) with API keys. For device control, Android requires ADB and USB debugging enabled; iOS uses the iOS Portal flow.

README (reference)

Source of truth, from the repository.

<picture align="center"> <source media="(prefers-color-scheme: dark)" srcset="./static/mobilerun-dark.png"> <source media="(prefers-color-scheme: light)" srcset="./static/mobilerun.png"> <img src="./static/mobilerun.png" width="full"> </picture> <p align="center"> <strong>Mobilerun is an open-source framework for controlling Android and iOS devices with LLM agents.</strong><br> 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. </p> <div align="center">

<a href="https://docs.mobilerun.ai">📕 Documentation</a> · <a href="https://cloud.mobilerun.ai">☁️ Mobilerun Cloud</a> · <a href="https://github.com/droidrun/mobile-harness">🛡️ Mobile Harness</a>

GitHub stars mobilerun.ai Twitter Follow Discord Benchmark

<picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=983810&theme=dark&period=daily&t=1753948032207"> <source media="(prefers-color-scheme: light)" srcset="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=983810&theme=neutral&period=daily&t=1753948125523"> <a href="https://www.producthunt.com/products/droidrun-framework-for-mobile-agent?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_source=badge-droidrun" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=983810&theme=neutral&period=daily&t=1753948125523" alt="Droidrun - Give&#0032;AI&#0032;native&#0032;control&#0032;of&#0032;physical&#0032;&#0038;&#0032;virtual&#0032;phones&#0046; | Product Hunt" style="width: 200px; height: 54px;" width="200" height="54" /></a> </picture>

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

</div> <p align="center"> <img src="./static/mobilerun-demo.gif" alt="Mobilerun automating a phone with natural language" width="320"> </p>
  • 🤖 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.

Quickstart Video

⚙️ 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

🎬 Demo Videos

Book accommodation from a prompt

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

<a href="https://youtu.be/VUpCyq1PSXw"> <img src="./static/demo-apartment-search.gif" alt="Mobilerun booking accommodation from a prompt" width="800"> </a>

Find trending content

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

<a href="https://youtu.be/7V8S2f8PnkQ"> <img src="./static/demo-reddit-trends.gif" alt="Mobilerun finding trending content from a prompt" width="800"> </a>

Maintain an app streak

Shows a short recurring mobile workflow that can be automated from a prompt.

<a href="https://youtu.be/B5q2B467HKw"> <img src="./static/demo-duolingo-streak.gif" alt="Mobilerun maintaining an app streak from a prompt" width="800"> </a>

💡 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

Related MCP servers

AI-powered photo management for self-hosted Immich: search, organize, deduplicate, and curate albums through natural conversation.

50
Python
MIT
View repository →

Deterministic fitness coaching engine: adaptive programs, progression math, readiness autoregulation

Provider-agnostic, AI-review-first MCP server for Bitbucket Cloud.

0
TypeScript
MIT
View repository →
DRdropthis logo

dropthis

Active

Publish HTML, files, or a URL to a permanent public URL, then update it — from any MCP agent.

0
TypeScript
View repository →
DRDropTrack logo

DropTrack

Active

Analyze tracks and manage customer music-promotion workflows through your DropTrack account.

0
MIT
View repository →

Convert Markdown into WhatsApp formatting: tables drawn to fit the phone's monospace width.

0
JavaScript
MIT
View repository →