Skip to content

Your agent drives an Android emulator.

Just ask in chat. It uses the phone for you: it runs your app, finds what breaks, fixes it and checks the fix. You can watch, and use the same phone yourself.

Works with Claude Code, Codex, Cursor and ChatGPT. No Android phone or Android Studio needed.

Claude Code~/parcel
You ask Claude Code: The Delayed filter is broken. Fix it and make sure it works. Without a device it would say: I've made the fix, but I can't run Android here. You'll need to test it yourself. With Ramus it starts a device, taps Delayed, sees the app crash, reads the log, fixes the null check, installs the new build and taps again. Fixed. I ran it on Android and it works. Your turn: open the link and use the same phone.
claude mcp add --transport http ramus https://api.ramus.dev/api/mcp

Then run /mcp in Claude Code and sign in with Ramus. No API key.

Observe, act, verify.

  1. Observe

    It reads the screen as a list of elements, each with a ref, and takes a screenshot when the list is not enough.

  2. Act

    It taps, types, swipes and presses keys on the refs it just read. A ref from an older screen is refused.

  3. Verify

    It names the text it expects, waits for the screen to settle and reads the device log. A miss comes back as an error.

The specifics.

  • MCP server

    https://api.ramus.dev/api/mcp

    Sign in with your Ramus account, or send an API key as a bearer token.

  • CLI

    New: ramus login

    ramus-cli on npm

    Snapshot, tap, type and verify, with refs that refuse stale screens.

  • Dev loop

    ramus dev and ramus adb

    Hot reload for Expo, React Native and Flutter. Your local adb sees the device.

  • Camera and microphone

    ramus camera and ramus mic

    Feed an image or a WAV file to scan a QR code, or to test a photo upload or a voice flow.

  • No account yet

    npx ramus-cli trial

    Gives your agent a 15-minute sandbox. Limits are on the pricing page.

  • Cloud agents

    Codex cloud, Cursor cloud agents, Claude Code on the web

    They don't document KVM or an Android emulator, so they use a Ramus device instead. Set RAMUS_API_KEY and add one line to AGENTS.md.

    AGENTS.mdTest Android changes on Ramus: https://ramus.dev/agents.md

Questions.

Do I need an Android phone or Android Studio?

No. The device runs in the cloud and opens in your browser, and your agent installs your APK on it. Only the hot-reload loop, ramus dev, uses Android tools on your computer.

Do I need an API key?

Not for agents that sign in over MCP or with ramus login. Cloud agents and CI use a key from the Agents page, set as RAMUS_API_KEY.

Can I take over from my agent?

Yes. Every device has a watch link, and your agent sends it when the device starts. Open it in any browser, with no account, to follow along; it is view-only. To take over, open your device page, signed in: the link’s page offers “Your device? Take control”. You + 3 people can be on a device at once. Your agent leaves the device running for you until 10 minutes pass without input. To let someone else use the device, your agent can make them a link that allows it.

Which clients work?

Claude Code, Codex, Cursor and ChatGPT sign in over MCP. Any other MCP client that speaks Streamable HTTP can connect, and any agent with a shell can use the CLI.

Can my agent upload an APK from my machine over MCP?

Yes, if the agent has a shell. android_upload_apk returns a one-time curl command that uploads the file, and android_start_session or android_install_app then uses it. The adb tunnel and ramus dev need the CLI.

What does it cost?

Free includes 30 minutes a month. Pro is $10 a month for unlimited minutes and two devices at once.

Connect an agent, in the docsRamus vs LimrunAndroid emulator for Claude CodeA remote Android MCP serverAndroid for cloud coding agents

Other products.

Give your agent a device.Keep a hand on it.