Automation#MCP#Device control

ARTEMIS: Google's agent that drives real Android phones

Google's agent that drives real Android phones from natural language: 3-5s Flash mode, MCP access from Claude Code, self-reported 99%+ on AndroidWorld.

Project facts

GitHub Ecosystem
Repositorygithub.com/google/artemis
License
Apache-2.0
Language
Python
Stars
11,179
Data checked
2026-10-09

Snapshot figures reflect the check date and may change over time.

UI test scripts break on every release, and when you want Claude Code to actually operate a phone, the usual answer is screenshots and an emulator. ARTEMIS, open-sourced by Google (11,179 stars as of October 9, 2026, Apache-2.0, public since August 13), takes natural-language instructions and executes them like a human on real devices or emulators — crossing apps, collecting screenshots and Logcat along the way — with a self-reported 99%+ task completion on Google Research’s AndroidWorld benchmark. It is the phone-side twin of CLI-Anything, which drives desktop software the same way.

ARTEMIS live demo: setting a driving route in Google Maps and calculating the total duration, then opening YouTube to play a Coldplay song

Core features

  • Flash and Pro profiles: Flash is a reactive observe-and-act loop at roughly 3–5 seconds per step for deterministic UI tasks; Pro is a multi-agent graph (Planner, Operator, Checker) at 15–40 seconds per step that safety-checks every action against the live UI, survives 100+ step tasks, and produces a structured report.
  • Multimodal targeting: element indices from the accessibility tree first, with OCR and visual models as fallback for custom Canvas, Compose and Flutter interfaces. The first task installs an Artemis Accessibility Helper on the phone — a read-only layout service that sends nothing off-device, can be uninstalled anytime, or swapped for a UIAutomator2 backend.
  • Native MCP for IDEs: one command (uv run artemis mcp --install all) wires the MCP server and a “mobile testing mindset” rules file into Claude Code, Codex, Antigravity, Windsurf and Cursor; then your IDE can install an APK on the real device, run a login, check for unexpected popups, and bring back screenshots and Logcat.
  • Three ways to drive it: a web console (uv run artemis ui, with live screen mirroring, a prompt sandbox and execution replay), direct CLI runs, and a Python SDK that slots into pytest or CI pipelines.
  • Swap the model: Gemini, Claude, GPT-4o and Qwen-VL are all supported for the multimodal fallback work.

Typical use cases

  • Pre-release regression: describe the cases in plain language, let Pro run them, get audit findings and metric tables back.
  • Bug reproduction: hand the phone an issue description and collect the full trace and screenshots.
  • Everyday automation: the IDE agent handles the phone as part of its loop — install, log in with a test account, verify dialogs, screenshot.

Quick start

You need a real device with USB debugging or an emulator, and Python 3.12+:

git clone https://github.com/google/artemis.git && cd artemis
./start.sh   # installs ADB, scrcpy, FFmpeg and deps; opens http://localhost:8000

Or skip the console and drive it from the CLI:

uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash

Attribution dispute

The code has a provenance story worth knowing before you pick it. On September 11, the CEO of Minitap published a post charging that ARTEMIS derives from their open-source mobile-use project without credit; the evidence list included device-connection code matching their implementation exactly, a Hopper agent prompt identical word for word, and even the same WhatsApp example and the same bug; an earlier pyproject.toml that listed the three Minitap authors had their names removed in a force push. Google received the accusation through issue #40 the same day, committed 371aa6d on September 12 to restore README and file-header attribution per Apache-2.0, closed the issue on September 15 confirming upstream copyright headers were restored, and a September 29 refactor moved the derived code into a third_party/mobile_use directory with METADATA. Google has issued no separate statement, and Minitap’s post ends at “we’ll update when there’s something substantive.”

Summary

For Android dev and QA teams moving tests from scripts to natural language, and for individuals who want their coding agent to handle a real phone, ARTEMIS is one of the most complete open-source options available; for simple task automation alone, lighter projects like mobile-use remain fine. Three honest caveats: the 99%+ is a self-reported leaderboard figure, not an independent retest; the on-device accessibility service will raise eyebrows in companies with strict device policies; and Flash has no plan or final report — long workflows pay Pro’s 15–40 seconds per step. On the video side of the same agent workflow, see video-use.