An Android MCP server lets an AI agent see and drive an Android screen. There are two kinds. Local servers such as mobile-mcp and Android-MCP run on your machine over stdio and control an emulator or a USB phone through ADB. Hosted servers such as Mobilebox, Limrun and phonebox.dev give your client a URL and run the phone for you. Use a local server when you already have an emulator and want ADB. Use a hosted one when your agent runs in a cloud sandbox or CI without KVM, or needs isolated phones it can create and delete.
Local servers
| Server | Transport | Device | Needs |
|---|---|---|---|
| mobile-mcp | stdio by default; Streamable HTTP with --listen | Your iOS simulators, Android emulators and real devices. Mobile Next Cloud adds cloud devices | The devices you connect |
| Android-MCP | stdio | A USB or Wi-Fi device, or an emulator | Python 3.13 and adb |
| Appium MCP | Runs on your machine | Embedded Appium drivers or your Appium server | Appium drivers and devices |
mobile-mcp says it "runs locally and communicates only with the devices you connect". You own the emulator, its boot time, its images and its KVM requirement.
Hosted servers
These endpoints come from each vendor’s entry in the official MCP registry or its own page.
| Server | Endpoint | Sign-in |
|---|---|---|
| Mobilebox | https://mobilebox.dev/mcp | API key as a bearer header |
| Limrun | https://mcp.limrun.com/mcp | See its docs |
| phonebox.dev | https://phonebox.dev/mcp | API key as a bearer header |
| Mobilerun | https://api.mobilerun.ai/v1/mcp | See its docs |
| Ramus | https://api.ramus.dev/api/mcp | Browser sign-in |
| Clousd | https://api.clousd.com/mcp | API key |
Endpoints and sign-in were reviewed on November 4, 2026. What the phones are and what they cost is in cloud Android for agents, compared.
See the tools before you connect a client
A remote MCP server is plain HTTP, so you can list its tools with curl. We ran this against Mobilebox on November 4, 2026:
curl -sS --fail-with-body https://mobilebox.dev/mcp \
-H "Authorization: Bearer $MOBILESANDBOX_API_KEY" \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq -r '.result.tools[].name'list_phones
create_phone
start_phone
park_phone
delete_phone
set_device
install_app
list_apps
uninstall_app
observe
act
screenshotThose 12 tools are the whole surface. create_phone and start_phone return the first screen. observe returns numbered elements such as [3] Button "CANCEL" (501,1413). act runs up to 20 taps, typing, swipes and waits in one call, stops at the first failure and returns the new screen. install_app takes a download URL. The server is stateless, so no session is held between calls. Each call carries the key.
How to decide
- The agent runs on your laptop next to Android Studio: use a local server. You get ADB, logcat and instrumented tests.
- The agent runs in a cloud sandbox, a container or CI: the emulator can’t use KVM inside another VM (Android docs), so use a hosted phone. See Android without KVM.
- Many agents or users at once: give each its own hosted phone instead of sharing one emulator. Mobilebox runs up to 3 phones at once per workspace and keeps up to 10.
- You need iOS or a physical phone: use mobile-mcp with your devices, or a hosted vendor that sells them. Mobilebox is virtual Android only and has no Google Play.
To connect a client, see MCP setup. For a full test run, see testing with Claude Code.