Give Gemini CLI an Android phone: a hosted Android MCP server in one command.

Set it up

1. Get a key. Paste this into Gemini CLI. It installs the Phonebox CLI and signs you in from the terminal, so you never paste a key into the chat. Then put the key in your environment with export PHONEBOX_API_KEY=$(phonebox token).

Paste into your agent
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.

2. Add the server. Use the command, or add the server to ~/.gemini/settings.json yourself. Use httpUrl, because Gemini CLI treats url as SSE. Settings can read ${PHONEBOX_API_KEY} from the environment, while the command writes the expanded key into the file.

Terminal
gemini mcp add --transport http --scope user \
  --header "Authorization: Bearer $PHONEBOX_API_KEY" \
  phonebox https://phonebox.dev/mcp
~/.gemini/settings.json
{
  "mcpServers": {
    "phonebox": {
      "httpUrl": "https://phonebox.dev/mcp",
      "headers": { "Authorization": "Bearer ${PHONEBOX_API_KEY}" }
    }
  }
}

3. Check it. Run /mcp in a session, or gemini mcp list in your shell. You should see phonebox with 13 tools. list_phones is a safe first call: it only reads.

What Gemini CLI can do with the phone

The Phonebox MCP tools Gemini CLI gets
TaskTools
Get a phonecreate_phone, list_phones, get_phone, start_phone
See the screenobserve: numbered text elements with labels, plus a screenshot
Use appsact: up to 20 taps, types, swipes and key presses per call
Install your buildcreate_app_upload, complete_app_upload, install_app, list_apps
Hand off to a personlive_view_url: a link to watch and control the phone
Stop payingpark_phone; reboot_phone when an app hangs

Gemini CLI reads the screen as text, so it taps “Sign in” by its label instead of guessing coordinates. Phonebox never retries a write to the phone on its own, so a slow response can't turn into a double order. A parked phone is free and keeps its apps, files and sign-ins. A running one costs $0.06 a minute, billed per second, and new accounts get $2 of credit with no card.

A first task

Paste into your agent
Build the debug APK and install it on my Phonebox phone.
Walk through the onboarding and settings screens I changed in this branch.
Read the screen before every action. Report anything that looks broken,
with the screen text you saw. Park the phone when you finish.

Other agents

The same server works in Claude Code, Codex, Cursor, Windsurf, Cline and GitHub Copilot. See the Android MCP server guide for every tool, and cloud phones for AI agents for the bigger picture.

Questions

Can Gemini CLI control an Android phone?

Yes, through MCP. Add Phonebox's hosted server with gemini mcp add --transport http --header "Authorization: Bearer $PHONEBOX_API_KEY" phonebox https://phonebox.dev/mcp, or put it under mcpServers in ~/.gemini/settings.json with httpUrl. Gemini CLI gets 13 tools to create a cloud Android phone, read its screen, act on it, install APKs and park it.

Why httpUrl and not url in Gemini CLI settings?

Gemini CLI uses httpUrl for Streamable HTTP servers and url for SSE servers. Phonebox's server speaks Streamable HTTP, so it needs httpUrl.

What does it cost?

$0.06 per phone-minute while the phone runs, billed per second. Parked phones are free and keep their apps and sign-ins. New accounts get $2 of credit with no card.

Get started with Phonebox — $2 in free credit, no card required.

The Phonebox team

← All guides