Skip to content

Design Documentation

Technical architecture and design details for AutoMobile.

Overview

AutoMobile is a mobile UI automation framework built on the Model Context Protocol (MCP). It enables AI agents to interact with Android and iOS devices for testing, exploration, and automation.

flowchart TB
    subgraph Clients
        Agent["🤖 AI Agent"]
        IDE["💻 IDE Plugin"]
        CLI["🧪 Test Runner"]
    end

    subgraph MCP["MCP Server"]
        Transport["Transport Layer
(STDIO / HTTP)"] Registry["Tool & Resource
Registry"] subgraph Features["Feature Composition"] Actions["Actions
(tap, swipe, input)"] Observe["Observation
(hierarchy, screenshot)"] AppMgmt["App Management
(launch, terminate)"] DeviceMgmt["Device Management
(list, start, kill)"] end end subgraph External["External Interfaces"] WS["📡 WebSocket
Clients"] Socket["🔌 Unix Socket
Commands"] CLITools["🛠️ CLI Tools
(adb, xcrun)"] end subgraph Devices["Devices"] Android["📱 Android"] iOS["📱 iOS"] end Agent --> Transport IDE --> Transport CLI --> Transport Transport --> Registry Registry --> Features Actions --> WS Observe --> WS AppMgmt --> CLITools DeviceMgmt --> CLITools DeviceMgmt --> Socket WS --> Android WS --> iOS CLITools --> Android CLITools --> iOS classDef client fill:#FF3300,stroke-width:0px,color:white; classDef mcp fill:#525FE1,stroke-width:0px,color:white; classDef external fill:#00AA55,stroke-width:0px,color:white; classDef device fill:#666666,stroke-width:0px,color:white; class Agent,IDE,CLI client; class Transport,Registry,Actions,Observe,AppMgmt,DeviceMgmt mcp; class WS,Socket,CLITools external; class Android,iOS device;

Core Components

Component Description
MCP Server Protocol server enabling AI agent interaction
Interaction Loop Observe-act-observe cycle with idle detection
Observation Real-time UI hierarchy and screen capture
Actions Touch, swipe, input, and app management
Navigation Graph Automatic screen flow mapping
Daemon Device pooling and test execution

Design Principles

High quality, performant, and accessible workflows are necessary to creating good software.

  1. Fast & Accurate - Mobile UX can change instantly so slow observations translate to lower quality analysis.
  2. Reliable Element Search - Multiple strategies with integrated vision fallback.
  3. Autonomous Operation - AI agents explore without human guidance or intervention.
  4. CI/CD Ready - Built for automated testing pipelines, dogfooding the tool to test itself.
  5. Accessible - You shouldn’t need to be a build engineer or AI expert to use AutoMobile.

Platform Support

Android

Component Purpose
Accessibility Service Real-time view hierarchy access
JUnitRunner Test execution framework
IDE Plugin Android Studio integration
Work Profiles Enterprise device support

iOS (Planned)

Component Purpose
iOS Overview Architecture and roadmap
XCTestService WebSocket automation server
XCTestRunner Test execution framework
Xcode Integration Editor extension