Cloud Android for AI coding agents
Give your agent a real Android™ device: it installs the APK it just built, taps through it and reads logcat — even in a cloud sandbox where an emulator can't start. You can watch the same device live in your browser.
{
"mcpServers": {
"android": {
"type": "http",
"url": "https://api.apkrunner.com/mcp",
"headers": {
"Authorization": "Bearer $APKRUNNER_KEY"
}
}
}
}
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.
Watch it, take over
Open the agent's session in your browser to see what it sees, and take the mouse when it gets stuck.
What the agent can do
Everything an agent needs to check a build the way a tester would.
start_device/stop_device: Android 12–15, phone or tablet screen, ready in a minute or two.install_apk: a file or a URL; .apk, .xapk, .apks or .apkm up to 200 MB.launch_app,open_url: start an activity or a page in the device's browser.ui_tree: the screen's accessibility tree with element bounds, much cheaper for the model than a screenshot.screenshot: when it needs to see the pixels.tap,swipe,type_text,press_key: back, home, enter.logcat: by package and level, since the app started.
How it works
Get an API key
Sign in with Google on apkrunner.com and create a key. Same account and minutes as the web player.
Add the MCP server
Paste the config above into Claude Code, Cursor, Codex or any MCP client that speaks Streamable HTTP.
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.
Android MCP server: FAQ
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?
No. It runs Android without Google Play services, so features that rely on them (Google sign-in, Maps, Firebase push) may not fully work. Everything else in your app does.
Can I watch what the agent does?
Yes. Every agent session shows up in your account on apkrunner.com, where you can open it live and take over with the mouse and keyboard.
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.