{
  "markdown": "<picture align=\"center\">\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"./static/mobilerun-dark.png\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"./static/mobilerun.png\">\n  <img src=\"./static/mobilerun.png\"  width=\"full\">\n</picture>\n\n<p align=\"center\">\n  <strong>Mobilerun is an open-source framework for controlling Android and iOS devices with LLM agents.</strong><br>\n  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.\n</p>\n\n<div align=\"center\">\n\n<a href=\"https://docs.mobilerun.ai\">📕 Documentation</a>\n·\n<a href=\"https://cloud.mobilerun.ai\">☁️ Mobilerun Cloud</a>\n·\n<a href=\"https://github.com/droidrun/mobile-harness\">🛡️ Mobile Harness</a>\n\n[![GitHub stars](https://img.shields.io/github/stars/droidrun/mobilerun?style=social)](https://github.com/droidrun/mobilerun/stargazers)\n[![mobilerun.ai](https://img.shields.io/badge/mobilerun.ai-white)](https://mobilerun.ai)\n[![Twitter Follow](https://img.shields.io/twitter/follow/mobilerun_ai?style=social)](https://x.com/mobilerun_ai)\n[![Discord](https://img.shields.io/discord/1360219330318696488?color=white&label=Discord&logo=discord&logoColor=white)](https://discord.gg/ZZbKEZZkwK)\n[![Telegram Support](https://img.shields.io/badge/Telegram-Support-26A5E4?logo=telegram&logoColor=white)](https://t.me/+_r43WkbbyiA1OGUy)\n[![Benchmark](https://img.shields.io/badge/Benchmark-91.4﹪-white)](https://mobilerun.ai/benchmark)\n\n\n\n<picture>\n  <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\">\n  <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\">\n  <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>\n</picture>\n\n\n[Deutsch](https://zdoc.app/de/droidrun/mobilerun) | \n[Español](https://zdoc.app/es/droidrun/mobilerun) | \n[français](https://zdoc.app/fr/droidrun/mobilerun) | \n[日本語](https://zdoc.app/ja/droidrun/mobilerun) | \n[한국어](https://zdoc.app/ko/droidrun/mobilerun) | \n[Português](https://zdoc.app/pt/droidrun/mobilerun) | \n[Русский](https://zdoc.app/ru/droidrun/mobilerun) | \n[中文](https://zdoc.app/zh/droidrun/mobilerun)\n\n</div>\n\n\n<p align=\"center\">\n  <img src=\"./static/mobilerun-demo.gif\" alt=\"Mobilerun automating a phone with natural language\" width=\"320\">\n</p>\n\n- 🤖 Control Android and iOS devices with natural language commands\n- 🔀 Use OpenAI, Anthropic, Gemini, xAI, Ollama, DeepSeek, OpenRouter, and OpenAI-compatible models\n- 🧠 Run direct tasks or enable reasoning mode for complex multi-step automation\n- 💻 Automate from the CLI, a terminal UI, Docker, or Python code\n- 🐍 Extend agents with custom tools, structured output, app cards, and credentials\n- 📸 Combine accessibility trees with screenshots for visual understanding\n- 🫆 Trace execution with Arize Phoenix or Langfuse\n\nUse the framework when you want to run the agent on your machine. Use [Mobilerun Cloud](https://cloud.mobilerun.ai) 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](https://mobilerun.ai/benchmark).\n\n## 📦 Installation\n\n> **Note:** Python 3.14 is not currently supported. Please use Python `>=3.11,<3.14`.\n\nInstall Mobilerun with [`uv`](https://docs.astral.sh/uv/):\n\n```bash\n# CLI usage\nuv tool install mobilerun\n```\n\n```bash\n# CLI + Python integration\nuv pip install mobilerun\n```\n\nMost LLM providers are included by default. For Anthropic support, install the optional extra:\n\n```bash\nuv tool install \"mobilerun[anthropic]\"\n```\n\n## 🚀 Quickstart\n\n```bash\nuv tool install mobilerun\nmobilerun setup\nmobilerun configure\nmobilerun run \"Open settings and turn on dark mode\"\n```\n\nBefore starting, make sure you have [ADB](https://developer.android.com/studio/releases/platform-tools) installed and an Android device with Developer options and USB debugging enabled. iOS setup is supported separately through the iOS Portal flow.\n\n### 1. Install the Portal on your device\n\n```bash\nmobilerun setup\n```\n\nThis installs the Mobilerun Portal app, enables its accessibility service, and prepares the device for local control.\n\n### 2. Verify the connection\n\n```bash\nmobilerun ping\n```\n\nYou should see confirmation that the Portal is installed and accessible.\n\n### 3. Configure your LLM provider\n\n```bash\nmobilerun configure\n```\n\nThe 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`.\n\n### 4. Run your first command\n\n```bash\nmobilerun run \"Open the settings app and tell me the Android version\"\n```\n\nUseful run options:\n\n```bash\nmobilerun run \"Open settings and turn on dark mode\"\nmobilerun run \"What app is currently open?\" --vision\nmobilerun run \"Find a contact named John and send him an email\" --reasoning\nmobilerun run \"Take a screenshot\" --ios\nmobilerun run \"Open Settings\" --steps 30 --debug\n```\n\nRead the full [framework documentation](https://docs.mobilerun.ai/framework/quickstart).\n\n## ⚙️ Features\n\n- **CLI:** Run one-off natural language tasks, inspect devices, replay macros, and debug from the terminal.\n- **Python API:** Build custom mobile automation workflows with Python and use custom tools.\n- **Android and iOS support:** Control Android through the Portal app or target iOS through the iOS Portal flow.\n- **Portal-based control:** Use UI trees, screenshots, text input, gestures, app launching, and device state from the Portal runtime.\n- **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).\n- **Reasoning mode:** Use `--reasoning` for manager-executor planning on longer or more complex tasks.\n- **Tracing and telemetry:** Debug execution with Arize Phoenix, Langfuse, saved trajectories, and detailed logs.\n- **Structured output:** Return structured data from mobile workflows.\n- **App cards and custom tools:** Add app-specific guidance to make agent perform better on your use-cases.\n- **Docker:** Run Mobilerun in a container for repeatable local environments.\n\n## ☁️ Framework vs Cloud\n\n| | Mobilerun Framework | Mobilerun Cloud |\n| --- | --- | --- |\n| Best for | Running agents locally on your own machine and devices | Ready-to-go local phone control, hosted real or virtual devices, API workflows, and managed device operations |\n| Runtime | Your machine  | Mobilerun-managed infrastructure |\n| Interface | CLI, Docker, and Python API | Dashboard, REST API, SDKs, and hosted devices |\n\nUse the framework when you want full local control of the agent runtime. Use [Mobilerun Cloud](https://cloud.mobilerun.ai) when you want managed devices, fleet workflows, or cloud APIs without running the agent locally. Learn more in the [framework overview](https://docs.mobilerun.ai/framework/overview) and the [cloud docs](https://docs.mobilerun.ai).\n\n### Which should I choose?\n\n- Choose **Mobilerun Framework** for local agent execution and code-level control.\n- Choose **Mobilerun Cloud** for managed phones, APIs, and scale without running agents locally.\n\n### Cloud Device Types\n\n| Device type | What it is | Best for |\n| --- | --- | --- |\n| Personal | Your own hardware connected to Mobilerun Cloud | Quick automation on devices you own |\n| Cloud Phone (Hosted) | Instantly available cloud-hosted phone | Scalable hosted automation |\n| Physical Phone (Hosted) | Real hardware with stronger identity characteristics | Workflows that need high device authenticity and trust |\n\n### Automate WhatsApp on a Cloud Phone\n\n<a href=\"https://www.youtube.com/watch?v=2A8D8NtNfz8\">\n  <img src=\"./static/whatsapp-automation.gif\" alt=\"Mobilerun automating WhatsApp on a cloud device\" width=\"800\">\n</a>\n\n### Generate leads with Google Maps on a Cloud Phone\n\n<a href=\"https://www.youtube.com/watch?v=CaL71WorysA\">\n  <img src=\"./static/google-maps.gif\" alt=\"Mobilerun generating business leads with Google Maps on a cloud device\" width=\"800\">\n</a>\n\n## 🧩 Agent Skill\n\nGive Claude Code, Codex, or another coding agent direct control of Android and iOS devices with the [mobile-harness](https://github.com/droidrun/mobile-harness) skill. Copy paste it into your agent:\n\n```text\nSet up https://github.com/droidrun/mobile-harness for me.\n\nRead `install.md` and follow the steps to install `mobile-harness`.\n```\n\nThe skill teaches the agent to drive local devices (ADB, Portal, iOS Simulator) and Mobilerun Cloud phones.\n\n## 🎬 Demo Videos\n\n### Book accommodation from a prompt\n\nShows multi-step navigation, text input, and app-state reasoning while Mobilerun searches for accommodation.\n\n<a href=\"https://youtu.be/VUpCyq1PSXw\">\n  <img src=\"./static/demo-apartment-search.gif\" alt=\"Mobilerun booking accommodation from a prompt\" width=\"800\">\n</a>\n\n### Find trending content\n\nShows browsing, app navigation, and result extraction from a natural-language task.\n\n<a href=\"https://youtu.be/7V8S2f8PnkQ\">\n  <img src=\"./static/demo-reddit-trends.gif\" alt=\"Mobilerun finding trending content from a prompt\" width=\"800\">\n</a>\n\n## 💡 Example Use Cases\n\n- Mobile app QA and regression testing\n- Guided workflows for non-technical users\n- Repetitive task automation on mobile devices\n- Event-driven automation from schedules, notifications, or custom triggers\n- Data extraction from native mobile apps\n- Running automations on multiple devices at once\n\n## 📚 Documentation\n\n- [Framework quickstart](https://docs.mobilerun.ai/framework/quickstart)\n- [Mobilerun cloud quickstart](https://docs.mobilerun.ai/quickstart)\n- [Device setup](https://docs.mobilerun.ai/framework/guides/device-setup)\n- [CLI guide](https://docs.mobilerun.ai/framework/guides/cli)\n- [SDK reference](https://docs.mobilerun.ai/framework/sdk/reference)\n- [Custom tools](https://docs.mobilerun.ai/framework/features/custom-tools)\n- [Agent architecture](https://docs.mobilerun.ai/framework/concepts/architecture)\n- [Structured output](https://docs.mobilerun.ai/framework/features/structured-output)\n- [Tracing](https://docs.mobilerun.ai/framework/features/tracing)\n\n## 👥 Contributing\n\nContributions are welcome. Please feel free to submit a pull request or open an issue.\n\n## 📄 License\n\nThis project is licensed under the MIT License. See [LICENSE](./LICENSE) for details.\n\n## Security Checks\n\nTo help catch security issues before submitting changes, run:\n\n```bash\nbandit -r mobilerun\nsafety scan\n```\n",
  "bytes": 11265,
  "sha": "80052560e06db353277a55f3f8f6a4b5231aa6dc1376d5182559b72adcb5c3a1",
  "repo_slug": "droidrun/mobilerun",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_droidrun_mobilerun_64695cb1/readme"
}