LABSCO SUMMARY
A phone in the loop, not a mock of one.
Work that used to need a person holding a device — walking an app through a flow, comparing what two shopping apps show, checking that today's build still installs and launches — becomes something an agent can run against a real Android, cloud or physical. Note the current boundary: the MCP server controls Android environments only, while the Linux desktop and browser environments are reached through the CLI and SDK.
What it is
Sandboxed Android environments that an agent drives the way a person would: tap, swipe, type, press the hardware keys, take a screenshot and look at what happened. The device can be a cloud virtual one, a cloud physical phone, or an Android handset of your own registered through the CLI. Alongside the touch layer it has the developer's route in as well — APKs installed and removed, apps opened and closed, adb shell commands run and logcat read back.
What you get
- An Android environment started on demand — cloud virtual device, cloud physical phone, or your own registered handset
- Input as a person performs it: tap, long press, swipe, drag, scroll, and text typed into the focused field
- Hardware and soft keys pressed by name, and arbitrary key events sent
- A screenshot taken after an action, so the agent sees the state it just produced
- Apps opened and closed by package, and APKs installed or uninstalled
adb shellcommands run against the device, and logcat read back for what the app reported- A wait call, for the screens that need a moment before the next step
Requirements
A gbox.ai account — MCP access requires you to be logged in. The CLI installs from Homebrew on macOS or npm elsewhere, and gbox mcp export --merge-to claude-code writes the client entry for you. Connecting a phone of your own needs Developer Mode enabled on the handset; ADB, frpc and Appium are fetched by gbox setup when they are not already present.
Setup effort
Follow the published steps — curl -fsSL https://raw.githubusercontent.com/babelcloud/gbox/main/install.sh | bash
USE CASES
01
Checking that today's build installs and launches
Start a device, push the APK onto it, open the app and take a screenshot of what came up.
02
Walking an app through a flow
Tap, type and swipe through the screens the way a tester would, with a screenshot after each step so the next one is chosen from what is actually on screen.
03
Comparing what two apps show
Open one app, capture the screen, go back with the hardware key, open the other and capture the same view.
04
Getting at what the app reported underneath
Read logcat for the error the screen only hinted at, and run adb shell commands against the device state directly.
05
Resetting between runs
Remove the build under test, install the next one and start again from a clean app state.
BEFORE YOU INSTALL
What to know first
Requires
- macOS 10.15 or later with Homebrew (other platforms: npm install -g @gbox.ai/cli)
- A gbox.ai account (gbox login)
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
curl -fsSL https://raw.githubusercontent.com/babelcloud/gbox/main/install.sh | bash
gbox login
gbox mcp export --merge-to claude-code
gbox mcp export --merge-to cursorMCP Clients
Claude Code, Cursor
JSON
{
"mcpServers": {
"gbox-android": {
"command": "npx",
"args": [
"-y",
"@gbox.ai/mcp-server@latest"
]
}
}
}