mobilecli CLI

mobilecli drives iOS and Android devices, emulators and apps from the terminal, and its skill teaches Claude Code how to use it

  • 314 ★ on the repository
  • Last commit
CLI

Broad access

Why this level

  • `fs rm`, `apps uninstall` and `apps clear` delete files and data on the connected device
  • `webview eval` runs arbitrary JavaScript in a webview, and `io` types text and presses buttons on the agent's behalf
  • The skill installs the package through npm without a separate prompt, and the background process stays in memory for up to 30 idle minutes
All reasons and checks

mobile-next/mobilecli

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/mobilecli

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • `fs rm`, `apps uninstall` and `apps clear` delete files and data on the connected device
  • `webview eval` runs arbitrary JavaScript in a webview, and `io` types text and presses buttons on the agent's behalf
  • The skill installs the package through npm without a separate prompt, and the background process stays in memory for up to 30 idle minutes

This is third-party code. Review the repository files before installing.

What it does

mobilecli is a command-line tool from Mobile Next for phones, simulators and emulators. `mobilecli devices` lists connected devices, `device boot` and `device shutdown` start and stop emulators and simulators, and `screenshot` captures the screen as PNG or JPEG with scaling and cropping. Through `mobilecli io` an agent taps coordinates or an element from the UI tree by a reference such as @e5, types text, reads and writes the clipboard and presses hardware buttons. The other commands: `apps` launches, installs, uninstalls and clears apps, `fs` reads and writes files on the device and inside app containers, and `webview` opens pages, queries the DOM and runs JavaScript in embedded webviews, as well as in Chrome tabs on Android and Safari on iOS. The device log streams with filters by process, tag and level, crash reports come from `device crashes`, and `device location set` overrides the GPS position. The skill in skills/mobilecli sets the agent's routine: find the device, dump the UI tree, tap, check the screen. If the binary is missing, the skill installs it through npm. The same operations are available over an HTTP API on a local port and on Mobile Next remote devices through `mobilecli remote`.

Who it is for. Mobile developers and testers who ask Claude Code or Cursor to run a scenario on a simulator or a real phone.

Good fit when

  • The agent builds the app, installs it on an emulator and walks through the sign-in screen, checking by screenshot
  • A crash reproduces only on a phone, and you need the device log filtered by process plus the crash report
  • Behavior depends on location, so the iOS simulator position is overridden with one command
  • An app shows a WebView, and its DOM has to be read or a script run inside it
  • A SQLite database from a debug app container has to be pulled to the computer with `fs pull`

Not a fit when

  • Scenarios are written in Appium or Maestro and run in CI on a schedule with no agent involved
  • The client talks to tools only over MCP: the mobilecli README describes commands and an HTTP API, with no MCP mode
  • A location override on a real iPhone has to outlive the terminal: it lasts only while the process with `--wait` runs
  • A personal phone with real data is connected, and the agent must not be trusted with `fs rm` and `apps uninstall`

Example request

Boot an iPhone simulator, install the build from ./build/App.zip, open the sign-in screen and take a screenshot

Limitations

  • The FSL-1.1-Apache-2.0 license forbids competing commercial use, and each version converts to Apache 2.0 after two years.
  • On a real iOS device, taps, screen streaming and the UI tree work only with the helper program installed on the device, and it needs a provisioning profile (`--provisioning-profile`).
  • File commands cover Android and the iOS simulator. Paths under `/data/user/` are read through `run-as`, so the app must be debuggable.
  • A GPS override on a real iPhone lasts only while the `mobilecli` process runs and needs the `--wait` flag.

How to disable. `npx skills remove mobilecli` removes the skill and `npm uninstall -g mobilecli` removes the package. `mobilecli daemon stop` stops the background process, which also exits after 30 idle minutes.

FAQ

How do I install mobilecli in Claude Code?

Install the package with `npm install -g mobilecli@latest`, then the skill with `npx skills add mobile-next/mobilecli`. After that ask the agent to list devices and it runs `mobilecli devices`. The iOS simulator needs Xcode Command Line Tools, Android needs `adb` on PATH.

Does the phone need a helper program?

Not on Android, but yes on iOS. `mobilecli agent install --device <id>` installs it, and without it taps, screen streaming and the UI tree do not work. On a real iPhone the command also takes a provisioning profile.

Can the agent delete files and apps on the device?

Yes: `fs rm` deletes files and folders, `apps uninstall` removes apps and `apps clear` wipes app data. Use an emulator or a dedicated test device and ask for confirmation before such steps.

Can mobilecli be used without an agent?

Yes, every command works in a normal shell. The same set is available over an HTTP API: the daemon accepts JSON-RPC on port 12000, for example the `device.logs` method for the device log.

How does mobilecli differ from Appium?

mobilecli is one tool with commands the agent calls one at a time through the skill. Appium runs as an automation server with its own drivers and scripts in test languages. For one-off agent work on a device mobilecli is enough, regression runs more often go to Appium.

Discussion

No questions or reviews yet.

CLI tools

A terminal agent for phones: state a goal in plain words and it reads the screen, then decides where to tap and what to type

CLIBroad access120Repository stars

Skills and a CLI that let Claude Code, Codex and OpenCode operate an Android phone: open apps, tap, type and test workflows

SkillBroad access1.8KRepository stars

An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots

MCP serverBroad access10.3KRepository stars

An MCP server that lets an agent drive Android, the iOS Simulator, HarmonyOS, Aurora, desktop and browser, take screenshots and debug apps

MCP serverBroad access382Repository stars

Skill and CLI for controlling an Android phone via ADB and vision models: the agent opens apps, searches, orders and verifies results

SkillBroad access26Repository stars

Lets Claude Code and Codex drive a real iPhone: read the screen, tap, type and scroll in any app

MCP serverBroad access458Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
mobilecli (this card)no314
Mobile MCPnonot required10,325an MCP server for the same devices, while mobilecli works through plain shell commands
Appium MCPyesnot required518Appium sessions and Java tests, while mobilecli has no automation server

README in short

The README opens with a feature list and a platform table, then covers npm installation, agent setup and a command reference: screenshots, UI tree, device control, location override, apps, file system, the iOS helper program, webviews, crash reports, logs and remote devices. It ends with the Claude Code skill, the background process and the HTTP API.

README badge

Report a problem

Foxx AImobilecli
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.