Invite-only beta · Android 11 and newer

Give any AI agent a real Android phone.

One MCP server and REST API between your agent and a real phone. The phone judges every tap itself, so your agent can act without being handed the keys.

agent →

“Reorder my usual coffee beans and pay with the saved card.”

your phone →

ALLOWED
open Shop · search “house blend”
ALLOWED
tap “Add to cart”
ASKED YOU
use the saved card → approve with your fingerprint or PIN
ASKED YOU
tap “Place order · $18.40” → approve on the phone
BLOCKED
open Banking: banking apps are off-limits
Illustrative task. Each verdict is the phone’s own.

Every tap

judged on the phone itself

Your model

pick the AI model for each task

For developers

Three ways in. One safety model.

Whichever way your agent connects, the same phone-side checks apply. Your key can tighten them, never loosen them past what the phone’s owner allows.

MCP server

Works with any MCP client or your own agent. Start a task, watch the screen, answer questions, stop.

"openmob": {
  "url": "https://openmob.fly.dev/mcp",
  "headers": {"Authorization": "Bearer <your API key>"}
}

REST API and webhooks

Start tasks, stream events, answer questions. Scoped API keys and signed webhooks.

curl -X POST https://openmob.fly.dev/v1/devices/$DEVICE_ID/tasks \
  -H "Authorization: Bearer $OPENMOB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instruction": "open YouTube and search for lo-fi"}'

On the phone itself

No code: chat with your agent in the OpenMob app, pick a model, and watch it work. A live view and Stop are always one tap away on the dashboard.

The OpenMob app's Home screen: a chat with the agent, one task stopped by the owner and one done. The OpenMob app's Home screen: a chat with the agent, one task stopped by the owner and one done.

Security

The server could be compromised. The phone is built as if it were.

Most agent tools trust whoever sends the command. OpenMob puts the final decision on your phone, with its own rules and its own keys, so a hacked server or a prompt-injected agent can at most ask: risky steps still wait for you, and blocked ones are refused.

  1. Your agent
  2. OpenMob server (not trusted by the phone)
  3. Your phone decides
  4. Your apps

Judged on the phone

Every action is checked on the device before it happens. Payments always ask you first; sends, posts, deletes and installs ask too, unless they’re what you asked for.

Keys that stay put

The keys that identify your phone and sign your approvals are sealed on the phone. They’re never backed up or moved to a new phone: a new phone pairs again.

Approvals happen on the phone

Purchases and other high-risk steps take your PIN, pattern or fingerprint. Approval notifications never show what’s being asked: you see it in the app.

Off-limits by default

Banking, payment, wallet and password apps are off-limits. OpenMob never types into a password field and never unlocks your phone.

Kept out of the record

Card numbers and Social Security numbers are hidden in the activity feed, history, API events and webhooks, and typing one always asks you. Screenshots are never stored.

Stop means stop

Stop from the dashboard, the API or the phone and the task stops right away. Disconnect on the phone and agents can’t reach it.

How it works

Paired in a minute. In control the whole time.

  1. Pair your phone

    Install the app, then scan a QR code or type a short code. You confirm on the phone with your screen lock.

  2. Connect your agent

    Make a scoped API key and add OpenMob to your MCP client, call the REST API, or just type in the app.

  3. Watch, approve, stop

    Follow every step in a live view. Approve risky ones on the phone. Stop any time.

Who sees your screen

To decide each step, what’s on screen is sent to the AI provider that runs your chosen model and, when the server uses one, as text to a screen-classification service. With Faster mode on (it’s off by default, and only you can turn it on, from the phone), small screenshots of screens without readable text, such as games, go to that service too. OpenMob never stores screenshots.

Invite-only, for now.

We’re opening OpenMob to a small group first. Have an invite link? Open it, or log in and choose “Have an invite code?”.