ApkRunner
MCP server · Claude Code, Cursor, Codex, CI

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.

Get API key See the tools Free minutes to try · no card
{
  "mcpServers": {
    "android": {
      "type": "http",
      "url": "https://api.apkrunner.com/mcp",
      "headers": {
        "Authorization": "Bearer $APKRUNNER_KEY"
      }
    }
  }
}
One URL and an API key in your MCP config. Nothing to install, no ADB, no SDK.

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.

Get early access

We're letting teams in in batches so every agent gets a device right away. Leave your email and we'll send your API key when your batch opens.