Architecture
Mobile Next products are layered. DeviceKit provides the on-device runtime; MobileCLI is the universal interface to it; Mobilewright and Mobile MCP build on MobileCLI for developers and AI agents respectively; Mobile Next Cloud aggregates many MobileCLI instances into a managed device farm.
Layers
DeviceKit — Runs on the device (or simulator host). Exposes a JSON-RPC 2.0 API over WebSocket or HTTP. Handles screen capture, accessibility tree dumps, input injection, app lifecycle. Separate implementations for iOS (devicekit-ios) and Android (devicekit-android).
MobileCLI — A single Go binary that connects to DeviceKit and exposes a unified interface across iOS and Android. Serves three interfaces: CLI commands, JSON-RPC over WebSocket, JSON-RPC over HTTP POST. Mobilewright and Mobile MCP both talk to MobileCLI.
Mobilewright — TypeScript/JS automation framework. Connects to MobileCLI via WebSocket. Provides the Playwright-style API (getByRole, expect, auto-waiting) on top of MobileCLI's raw JSON-RPC calls.
Mobile MCP — MCP server that connects to MobileCLI. Makes mobile device control available to any MCP-compatible AI agent (Claude Code, Cursor, VS Code Copilot, etc.) as a set of structured tools.
Mobile Next Cloud — Manages a fleet of MobileCLI instances running in the cloud (AWS Device Farm). Handles device allocation, session management, test result hosting, and permissions. Exposes a REST API for management, JSON-RPC for device interaction, and its own MCP server for remote access.