Back to Devoured - September 15, 2026
DEVOURED
ARTEMIS (GitHub Repo)

ARTEMIS (GitHub Repo)

AI Google
ARTEMIS is an open-source tool that allows AI coding assistants to interact with real Android devices by interpreting natural language as UI actions.
What: ARTEMIS provides a Model Context Protocol (MCP) server for Android, enabling agents like Antigravity, Claude Code, and Windsurf to navigate apps, run tests, and report performance metrics. It uses a hybrid approach of accessibility element indices and visual pixel fallbacks.
Why it matters: This moves AI agents beyond text-only interfaces, allowing them to verify code functionality on real target hardware, which is critical for reducing hallucinated interaction bugs in mobile development.
Takeaway: Connect your physical Android device via USB and run `./start.sh` to begin integrating live device control into your AI agent's environment.
Decoder
  • Model Context Protocol (MCP): A standard developed by Anthropic to help AI assistants connect to local data sources and tools.
  • UIAutomator: A testing framework for Android to interact with UI components regardless of the app being tested.
  • Scrcpy: A utility for mirroring Android screens and controlling devices via ADB.
  • Logcat: A command-line tool that dumps a log of system messages, including stack traces and app output.
Original article

Let AI assistants and test suites use real phones like a human.

Key Highlights

  • Cross-App Automation: Executes testing workflows and everyday tasks on Android from natural language instructions.
  • Multimodal Targeting: Uses element indices when available, with coordinate and visual locating fallbacks for custom interfaces.
  • IDE Diagnostics: Model Context Protocol (MCP) integration lets Antigravity, Claude Code, and Windsurf drive test devices and collect Logcat output and screenshots.
  • Flash Execution: A reactive observe-and-act loop with asynchronous history summaries, typically 3–5s per step.
  • Pro Exploration: Checks targets before individual actions and returns blocked actions to the Operator for recovery. Supports long-running exploratory and stability tests.
  • AndroidWorld Results: 99%+ task completion on Google Research's AndroidWorld benchmark (100+ multi-step tasks).

Antigravity × ARTEMIS: Autonomous Testing Workflow

Antigravity uses ARTEMIS through MCP to turn a test request into a plan, device execution, and a diagnostic report:

1. Prompt Input (Task Dispatch)
Describe your test scenario and target metrics in Antigravity
2. Test Plan Generation
Formulates a step-by-step test plan & architecture for review
3. Autonomous Test Execution
Drives real device, navigates UI, and profiles performance
4. Final Report
Delivers structured audit findings, metric tables, and raw datasets

Quick Start

Ensure an Android device (with USB Debugging enabled) or emulator is connected. The one-click startup script will automatically:

  • Install System Toolchains: Detect and auto-install ADB, scrcpy, FFmpeg, and Python (uv) dependencies.
  • Mount Global MCP Server & AI Agent Rules: Prompt to automatically install global MCP configurations and the Artemis Mobile Testing Mindset (rules.md) into your AI IDEs (Antigravity, Cursor, Claude Code, Codex, Windsurf, VS Code, Cline/Roo, OpenClaw).

macOS and Linux

# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git && cd artemis

# 2. One-click launch
./start.sh

Windows PowerShell

# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git
cd artemis

# 2. One-click launch
.\start.bat

PowerShell does not search the current directory for executable scripts by default, so use .\start.bat without a trailing \. In Command Prompt (CMD), use start.bat instead.

Tip: Opens http://localhost:8000 in your default browser with a device connection wizard, live screen mirroring, prompt sandbox, and execution replays. You can also run directly from CLI: uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash.

ARTEMIS includes a native Model Context Protocol (MCP) server. Connect your real phone directly into AI IDEs:

1. One-Click Auto Install (Recommended)

Running ./start.sh (macOS/Linux) or .\start.bat (Windows PowerShell) will prompt you to configure global MCP and testing rules for detected IDEs (or you can install/update anytime later manually using the commands below):

# Auto-install MCP server & global rules for Antigravity / Jetski:
uv run artemis mcp --install antigravity

# Or install for all supported AI IDEs (including Codex):
uv run artemis mcp --install all

2. Manual Configuration (Optional)

If you prefer to configure manually, run uv run artemis mcp --generate-config <client> to output the appropriate TOML or JSON snippet.

3. Mount Behavioral Rules for AI Agents (Highly Recommended)

To ensure your AI coding assistant acts with the rigor of a senior mobile test engineer and never hallucinates UI interactions, we provide a dedicated testing mindset rules file at mcp_server/rules.md.

4. Prompt Your Phone in the IDE Chat

"Build the latest changes into an APK, install it on the connected device, open the login screen with a test account, verify if there are any unexpected popups after login, and return screenshots of the final page."

Python SDK Integration

uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"
import asyncio
from artemis_client import ArtemisClient


async def main():
    client = ArtemisClient(
        "http://artemis-host:8000",
        device_serial="emulator-5554",
        default_profile="flash",
    )

    result = await client.run(
        "Open System Settings, go to 'Battery', verify battery percentage is displayed, and check for any crash dialogs.",
    )

    assert result.succeeded, f"Test failed: {result.error or result.status}"
    print(f"✅ Test Passed! Device: {result.device_serial} | Trace ID: {result.trace_id}")


if __name__ == "__main__":
    asyncio.run(main())

Usage Modes

  • Web Visual Test Console (uv run artemis ui): Real-time screen projection and interactive panel.
  • MCP Server: Connects Antigravity, Claude Code, Windsurf, and other MCP clients to real devices for bug reproduction and test execution.
  • Developer CLI (uv run artemis run): Direct terminal execution for automated test cases.
  • Python SDK: Integrates as a standard Python library into existing automated testing frameworks (e.g., pytest) or CI/CD pipelines.

What ARTEMIS Installs on Your Phone

The first task on a device installs the Artemis Accessibility Helper, a small accessibility service that reads the screen layout.

Benchmarks: AndroidWorld (SOTA 99%+)

Artemis achieved a 99%+ completion rate on AndroidWorld, Google Research's benchmark spanning 20+ apps and 100+ multi-step tasks.

How ARTEMIS is Architected

  • Pre-Execution Checks and Action Bursts: Pro checks the target against the live UI tree and pixels before dispatching an individual action.
  • Element Locating: Combines accessibility hierarchies and OCR with visual models for custom Canvas, Compose, and Flutter interfaces.
  • Shared History Compression: Flash and Pro replace older screenshots with visual summaries and compress completed steps into searchable history chunks.

Execution Profiles: Flash vs. Pro

  • Flash Profile (--profile flash): Fast and token-efficient reactive loop (~3–5s per step). Ideal for routine, deterministic UI tasks.
  • Pro Profile (--profile pro): A planning and verification workflow (~15–40s per step), built as a multi-agent graph. Handles 100+ step long-horizon workflows.

Roadmap

  • Android Studio Integration: Native IDE plugin and workflow integration.
  • iOS Platform Expansion: Extending multimodal perception to iOS.
  • On-Device Lightweight VLMs: Local execution with edge vision models.
  • Real-time Duplex Voice Interaction: Voice-driven task dispatch.

License

This project is licensed under the Apache License 2.0.

Explore all 47 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi