Cloud Android for AI coding agents
Give your agent a real Android™ device over MCP: it installs the APK it just built, reads the screen, taps through it and reads logcat — even in a cloud sandbox where an emulator can't start.
$ claude plugin marketplace add apkrunner-com/claude-plugin
$ claude plugin install apkrunner@apkrunner
> /apkrunner:test-android-app sign-up on Android 15
{
"mcpServers": {
"apkrunner": {
"type": "http",
"url": "https://api.apkrunner.com/mcp"
}
}
}
Why a remote Android device for an agent
An agent can write an Android app, but checking that it works means running it somewhere. Often that somewhere doesn't exist.
Agents in the cloud
Claude Code on the web, Codex cloud, Devin and CI runners have no KVM and no GPU, so the Android emulator won't start there. A remote device is one HTTP call away.
Nothing heavy on your laptop
No emulator taking 4–8 GB of memory. Run several agents on several devices at once without your machine slowing down.
Real ARM
Apps with ARM-only native libraries run as they would on a phone, on our ARM servers. Android 12 to 15, phone and tablet sizes.
A clean device every run
Each session gets a fresh device, wiped when it ends: no state left over from the previous run to make a test pass by accident.
Logcat the agent can read
Crashes and stack traces come back as text, filtered to your app, so the agent sees why it failed instead of guessing from a screenshot.
The screen as text
The agent reads each view's text, id, state and tap point instead of guessing from pixels: cheaper than a screenshot, and it taps by a button's label.
What the agent can do
Everything an agent needs to check a build the way a tester would, as MCP tools.
| MCP tool | What it does |
|---|---|
start_device · stop_device | Android 12–15, phone, foldable or tablet screen; optionally an APK by URL or a web page. |
install_apk | A file from your machine (through a curl command it gives) or a URL; .apk, .xapk, .apks or .apkm. |
list_elements | The views on screen with text, id, state and tap coordinates: much cheaper for the model than a screenshot. |
screenshot | A PNG, when it needs to see the pixels. |
tap · long_press · swipe | By a view's text or by coordinates; swipes by direction. |
type_text · press_key | Any text, Cyrillic and emoji included; back, home, enter. |
launch_app · open_url | Start, stop, clear or remove an app; open a page or a deep link. |
logcat · crashes | The log by package and level; crashes and ANRs with their exception and where it was thrown. |
How it works
Add it to your agent
Claude Code: the plugin's two commands above. Claude on the web or desktop: add a custom connector with https://api.apkrunner.com/mcp. Other clients: the same URL in their MCP config.
Sign in once
The agent opens apkrunner.com: sign in with Google or by email and allow it (in Claude Code, run /mcp and choose Authenticate). Same account and minutes as the web player.
Ask the agent
"Build the debug APK, install it and check that login works on Android 12 and 15." It starts the devices and reports back.
No browser where the agent runs (CI, a cloud sandbox)? Use an API key in an Authorization header instead.
Android for AI agents: FAQ
Which agents does it work with?
Claude Code through the plugin, which also brings a testing skill; Claude on the web, desktop and mobile as a custom connector; and any other MCP client that connects to a remote server over Streamable HTTP and signs in with OAuth (Cursor, VS Code and others) or sends an API key. A command-line tool for CI is coming.
How is it different from mobile-mcp and other Android MCP servers?
Those drive an emulator or a phone you run yourself, over ADB. This one brings the device: the agent needs only an internet connection, so it works in cloud sandboxes and CI.
What does it cost?
Device time by the minute, from the same account and minutes as the web player, with free minutes to try it. No subscription needed to start.
Does the device have Google Play?
Not the Play Store. It runs Android with microG, the open-source replacement for Google Play services, so Firebase push and most Play services APIs work. Google sign-in, Play Billing and Play Integrity may not. Everything else in your app does.
Can I watch what the agent does?
The agent's screenshots and the screens it reads show up in its conversation. A live view of its device in your browser is coming.
iOS too?
No, Android only.
Is my APK private?
It is uploaded only to start your own device and deleted from our servers after an hour; the device is wiped when the session ends. See the privacy policy.