A hosted Android MCP server for Claude Code, Cursor and any MCP client.
Why a hosted MCP server
Most Android MCP servers wrap ADB. They work, as long as there is an emulator or a USB-connected phone on the same machine as your agent. That rules out cloud sandboxes, CI runners, remote dev boxes and every teammate who does not want Android Studio eating their RAM.
A hosted server moves the phone to the cloud. Your agent connects to a URL, and Phonebox brings the device, keeps it signed in between sessions and parks it when the agent is idle.
| Local ADB MCP server | Phonebox hosted MCP | |
|---|---|---|
| Where the phone runs | An emulator or USB phone on your machine | Phonebox's cloud |
| Setup | Android SDK, ADB, an emulator image | One URL and an API key |
| Works from CI or a sandbox | Only with nested virtualization or a device | Yes |
| State between sessions | Whatever your emulator keeps | Apps, files and sign-ins kept while parked |
| Human handoff | Someone at the machine | A live view link in any browser |
| Cost | Your hardware | $0.06 per phone-minute; parked phones free |
Connect in one command
Create an API key in the console, or let the setup prompt do it for you. Then add the server to Claude Code:
claude mcp add --transport http phonebox https://phonebox.dev/mcp \
--header "Authorization: Bearer $PHONEBOX_API_KEY"To share the server with a repository without sharing a key, commit an .mcp.json that reads the key from each person's environment:
{
"mcpServers": {
"phonebox": {
"type": "http",
"url": "https://phonebox.dev/mcp",
"headers": { "Authorization": "Bearer ${PHONEBOX_API_KEY}" }
}
}
}For Cursor, add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json in one project. Keep files that hold a key out of version control.
{
"mcpServers": {
"phonebox": {
"url": "https://phonebox.dev/mcp",
"headers": { "Authorization": "Bearer pbx_…" }
}
}
}The tools your agent gets
| Tool | What it does |
|---|---|
| create_phone | Creates a cloud Android phone and waits until it is ready |
| observe | Reads the screen as numbered text, plus a 720-pixel screenshot |
| act | Runs up to 20 actions in order: tap, type, swipe, scroll, open an app, wait |
| install_app | Installs from the app library or your own uploaded APK |
| create_app_upload / complete_app_upload | Uploads your APK with one curl command |
| live_view_url | A link for a person to watch and control the phone |
| start_phone / park_phone | Resumes a parked phone, or parks it to stop billing |
| list_phones / get_phone / list_apps / reboot_phone | Find phones, wait for them, list apps, restart a stuck phone |
Tools carry the standard MCP hints, so clients that ask before destructive steps know that observe only reads and act can change the phone. There is no delete or reset tool: wiping a phone takes the API or CLI with an Admin key.
Try it
With the server connected, ask your agent for something you can check yourself:
Use Phonebox to install ./app.apk and check the welcome screen.
Read the screen before each action and confirm the result.
Ask me before signing in or submitting anything.
Park the phone when you finish.The full tool reference, waiting behaviour and error format are in the MCP documentation. For the bigger picture, read cloud phones for AI agents.
Questions
Is there an MCP server for Android?
Yes. Phonebox runs a hosted Android MCP server at https://phonebox.dev/mcp. It speaks Streamable HTTP and authenticates with a Phonebox API key, and its tools create cloud Android phones, read the screen, run actions, install apps and park phones.
Do I need ADB, Android Studio or an emulator for the Phonebox MCP server?
No. The phones run in Phonebox's cloud. Your MCP client only needs network access and an API key; nothing Android-related runs on your machine.
Which MCP clients work?
Claude Code, Cursor and any client that supports Streamable HTTP and can send an Authorization header. The server does not use OAuth.
What does an Android MCP server cost?
The MCP server itself is free to connect. Phones cost $0.06 per phone-minute while running, billed per second with a one-minute minimum, and nothing while parked. New accounts get $2 of free credit with no card.
Can the MCP server install my own APK?
Yes. create_app_upload returns a one-off upload URL and a curl command, complete_app_upload processes the APK, and install_app installs it and waits until the phone lists it.