LABSCO SUMMARY
An agent that can open your app, use it, and tell you why it is slow.
Most device-control tooling stops at tapping. This one keeps going into profiling and diagnostics — Hermes and Instruments traces, network capture, the native and React component trees — so a reproduction can turn into a diagnosis in the same session.
What it is
An agentic toolkit that gives an AI assistant direct control of real app targets: iOS simulators, Android emulators and physical devices over adb, Apple TV, Android TV and Fire TV, and Electron or Chromium apps over the Chrome DevTools Protocol.
What you get
- A full interaction toolkit matched to each platform — tapping, swiping, pinching, typing, gestures and hardware buttons on mobile; the directional remote on TV; mouse, scroll and drag on desktop and web
- Record and replay: capture a sequence of interactions once and have the agent replay it deterministically, so manual repros and smoke tests become repeatable
- Visual regression — diff two screenshots, or a saved baseline against a live capture, with OCR- and font-aware comparison
- Profiling with analysis: React Native (Hermes), React DevTools, and native Xcode Instruments or Android Perfetto sessions, down to fiber renders, CPU hotspots and cross-correlated commit-versus-hang reports
- Debugging surfaces — inspect logs, capture network traffic from both JS
fetchand native, evaluate JS in the running app, and walk the native UIKit and React component trees - For Electron and Chromium: drive tabs, read and write cookies and storage, walk the DOM and inspect network over CDP
- React Native support with no extra setup — build, launch and iterate on an RN project as with any native app
- A CLI alongside the MCP server:
argent toolslists what the tool-server exposes withdescribe <YOUR_TOOL_NAME>for detail,argent runinvokes one by name, andargent servermanages the shared tool-server
Requirements
Node.js 20.12 or later. npx @swmansion/argent@latest init installs the package, detects your editor and registers the MCP server; use pnpm dlx instead in a pnpm project where npm's devEngines check refuses to run npx. Per platform: macOS with Xcode for iOS and tvOS, Android SDK Platform Tools (adb) on PATH for Android, the Vega SDK for Fire TV, and nothing extra for an Electron app already launched with --remote-debugging-port. init auto-configures Claude Code, Cursor, VS Code, Windsurf, Zed, Gemini CLI, Codex CLI, Hermes, opencode and Kiro. --local adds it to devDependencies and writes committable MCP config so teammates get the same setup from npm install. On Linux, Android emulators want KVM access; without /dev/kvm the emulator falls back to software emulation. Argent collects opt-out telemetry, disabled with argent telemetry disable. Source is Apache 2.0, but the per-platform simulator-server and ax-service binaries and the iOS native devtools libraries are proprietary and licensed only for use within this project.
Setup effort
One command — npx @swmansion/argent@latest init
USE CASES
Reproducing a bug on a real device
Let the agent build, launch and navigate the app the way a user would, then read logs, network traffic and component trees at the moment it breaks.
Finding out why a screen janks
Run a React Native (Hermes), React DevTools or native profiling session and get fiber renders, CPU hotspots and commit-versus-hang correlation back as a summary rather than a raw trace.
Turning a manual repro into a repeatable test
Record the interaction sequence once and replay it deterministically, so the next regression check costs nothing.
Catching an unintended UI change
Diff a live capture against a saved baseline with OCR- and font-aware comparison, which is less brittle than pixel equality on text.
Testing on a TV
Apple TV, Android TV and Fire TV are driven with the directional remote model rather than touch, so navigation behaves the way the platform actually does.
Sharing the setup with a team
Run init --local to put Argent in devDependencies and commit the generated MCP config, so teammates get it on npm install with no per-developer global install.
BEFORE YOU INSTALL
What to know first
Requires
Node.js 20.12 or later
INSTALLATION
Connect your client
Server setup
Claude Code, Cursor, VS Code, Windsurf, Zed, Gemini CLI, Codex, Hermes, OpenCode, Kiro
npx @swmansion/argent@latest init