Phonebox

dev.phoneboxv0.1.0Updated Oct 8, 2026

Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.

VerifiedStreamable HTTPWeb executableDeveloper ToolsBrowser Automation

Overview

AI-generated overview

Gives an AI assistant a hosted cloud Android phone to inspect, tap, type on, install APKs, and park when idle.

What it does
Phonebox is a hosted Android MCP server that gives an agent a real cloud phone. Tools include create_phone, observe (reads the screen as a numbered text list plus a screenshot), act (runs up to 20 ordered actions such as tap, type, swipe, scroll, open an app, wait for an element), install_app, APK upload helpers, live_view_url for human handoff, and start_phone, park_phone, list_phones, get_phone, list_apps and reboot_phone for lifecycle management. No ADB, Android Studio or emulator is needed.
When to use it
Use it when an agent should drive a real Android device: testing an APK you just built, exploring an app and reporting bugs with exact screen text, or automating mobile flows from CI, sandboxes or remote dev boxes. It is Android only, with no iOS, phone numbers, SMS or calls.
Requirements
A remote Streamable HTTP endpoint at with an Authorization header carrying a bearer Phonebox API key (pbx_...). No local runtime, packages or OAuth. A key can be created in the console or obtained by having the agent sign up from the terminal; a free tier with credit is offered.
Before you install
The Authorization header carries a secret API key; keep it out of shared configs and chat. Usage is billed at $0.06 per phone-minute, per second with a one-minute minimum, so parked phones are free but running ones cost money. The agent can install apps, type, tap and otherwise change state on the phone, and a live view link lets a person watch and control it.

Installation

In SourceWeft

  1. Open Phonebox in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "phonebox": {
      "type": "http",
      "url": "https://phonebox.dev/mcp"
    }
  }
}

README

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.

bash
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.

Why hosted instead of an ADB MCP server?

Local ADB MCP serverPhonebox hosted MCP
Where the phone runsAn emulator or USB phone on your machinePhonebox's cloud
SetupAndroid SDK, ADB, a system imageOne URL and an API key
Works from CI, sandboxes and remote dev boxesOnly with nested virtualization or a deviceYes
State between sessionsWhatever your emulator keepsApps, files and sign-ins kept while parked
Human handoffSomeone at the machineA 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:

text
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:

json
{  "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

ToolWhat it does
create_phoneCreates a cloud Android phone and waits until it's ready
observeReads the screen as a numbered text list, plus a 720px screenshot
actRuns up to 20 actions in order: tap, type, swipe, scroll, open an app, wait for an element
install_appInstalls from the app library or from your own uploaded APK
create_app_upload / complete_app_uploadUploads your APK with one curl command
live_view_urlA link for a person to watch and control the phone
start_phone / park_phoneResumes a parked phone, or parks it to stop billing
list_phones / get_phone / list_apps / reboot_phoneFind phones, wait for them, list apps, restart a stuck phone

What the agent reads from observe:

text
app com.android.launcher3screen 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

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

Source: README.md at commit 742ab26

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.0LatestOct 8, 2026