Phonebox Android MCP server
OfficialProvides an agent-first cloud Android phone that an agent can control via tools: create and start/park phones, read the screen as a numbered text list with a screenshot, run ordered actions (tap, type, swipe, scroll, open apps, wait for elements), install apps from the app library or upload your own APK, reboot a stuck phone, and generate a live view link for human handoff. Phone state (apps, files, sign-ins) is preserved while parked.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Phonebox Android MCP servercreate a cloud phone, install my APK, launch it, and report any bugs with screen text"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Phonebox Android MCP server
A hosted Android MCP server for Claude Code, Codex, Cursor and any MCP client, from Phonebox, the agent-first cloud phone. Your agent gets a real Android phone in the cloud. It can read the screen, tap, type, install your APK, hand off to a human, and park the phone when it's done. You don't need ADB, Android Studio or an emulator.
claude mcp add --transport http phonebox https://phonebox.dev/mcp \
--header "Authorization: Bearer $PHONEBOX_API_KEY"Endpoint:
https://phonebox.dev/mcp(Streamable HTTP, bearer API key)Price: $0.06 per phone-minute, billed per second, 1-minute minimum. Parked phones are free and keep their apps and sign-ins.
Start free: $2 of credit, no card → phonebox.dev
This repo holds the configs and examples. The server itself is hosted by Phonebox, so there's nothing to run.
Why agent-first
Most cloud phones were built for social-media dashboards or QA test suites and added an API later. Phonebox was built for the agent: your agent signs you up from the terminal, reads the screen as text, gets errors with a next step, and never has a write retried behind its back. Idle phones park themselves for free.
Related MCP server: @qirabot/mcp
Why hosted instead of an ADB MCP server?
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, a system image | One URL and an API key |
Works from CI, sandboxes and remote dev boxes | 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 |
Get an API key
The fastest way is to paste this into your coding agent. It signs you up from the terminal, and you never paste a key into the chat:
Read https://phonebox.dev/setup.md and set me up with Phonebox from here: get me signed in and ready, then find out what I want to use phones for and help me with that.Or create a key in the console and export PHONEBOX_API_KEY=pbx_….
Connect your client
Claude Code — run the command at the top, or commit this repo's .mcp.json. It reads the key from each person's environment:
{
"mcpServers": {
"phonebox": {
"type": "http",
"url": "https://phonebox.dev/mcp",
"headers": { "Authorization": "Bearer ${PHONEBOX_API_KEY}" }
}
}
}Cursor: add examples/cursor-mcp.json to ~/.cursor/mcp.json or .cursor/mcp.json.
Codex: add examples/codex-config.toml to ~/.codex/config.toml.
Any other client: point it at https://phonebox.dev/mcp with an Authorization: Bearer pbx_… header. The server is stateless Streamable HTTP and doesn't use OAuth.
Tools
Tool | What it does |
| Creates a cloud Android phone and waits until it's ready |
| Reads the screen as a numbered text list, plus a 720px screenshot |
| Runs up to 20 actions in order: tap, type, swipe, scroll, open an app, wait for an element |
| Installs from the app library or from your own uploaded APK |
| Uploads your APK with one |
| A link for a person to watch and control the phone |
| Resumes a parked phone, or parks it to stop billing |
| Find phones, wait for them, list apps, restart a stuck phone |
What the agent reads from observe:
app com.android.launcher3
screen 1080x2400
[1] EditText "Search apps" #search clickable editable (540,250)
[2] TextView "Chrome" #icon clickable (200,1900)
[3] TextView "Settings" #icon clickable (500,1900)Examples
Test the APK you just built: build, install, explore, and report bugs with the exact screen text.
TypeScript SDK agent: create a phone, read the screen, tap, park.
What it isn't
Android only (no iOS), and there are no phone numbers, SMS or calls. Phonebox gives your agent the device, not telephony.
Learn more
This server cannot be deployed
Maintenance
Related MCP Connectors
Control real Android and iOS devices with LLM agents — tap, swipe, type, automate flows.
Disposable cloud Android emulators for coding agents: run an APK or PR build, tap, type, screenshot.
- LimrunOAuthcom.limrun
Cloud iOS simulators and Android emulators your agent can create, drive, and throw away.
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI agents to control Android devices and emulators through direct UI interaction, allowing app navigation, automated testing, and real-world task execution via ADB without computer vision or scripts.182MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to control mobile and desktop devices with natural language, including running automation tasks, taking screenshots, and managing devices.65 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to remotely control Android devices in the cloud via P2P WebRTC, providing tools for screenshots, touch input, file management, and automation scripts.26 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to automate Android and iOS devices, including emulators and physical devices, by capturing screenshots, reading UI accessibility trees, performing touch and text input, and managing app lifecycle and logs.MIT