ERIUS PHONE MCP server
io.github.Protremix/erius-phone-mcp·v0.2.0·1 starsDrive a hosted ERIUS PHONE Android device: read the screen, tap, type, install APKs, get crash logs.
1 stars146 downloads/wk
Reviews
Write oneNobody has reviewed ERIUS PHONE yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ERIUS PHONE tools (21, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
foregroundGet just the foreground app: package, activity, and whether a crash dialog is showing. Cheaper than a full snapshot when you only need this.
get_crash_logRead the device's crash log buffer (logcat -b crash) — use this after an app crashes during QA testing to see the real stack trace.
get_deviceGet full status of one device: boot state, Android version, screen size, and the app currently in the foreground. Omit `device` to use the default.
install_apkInstall an APK from a local file path on the machine running this MCP server (not on the phone) onto the device. Use this for APK QA testing — the real use case ERIUS PHONE is built for. Returns the parsed package info (name, version) and whether the install actually succeeded.
launch_appLaunch an installed app by package name (e.g. com.android.chrome). Pass `activity` only if the app has no launcher activity resolvable automatically.
list_appsList installed apps on the device. Set third_party_only=True to skip pre-installed system apps and see only user-installed ones.
list_devicesList every Android device your API key can access, with live status (booted, Android version, screen size). Call this first to get device ids.
long_pressLong-press an element (e.g. to open a context menu or start a drag). Targets work like tap(): `ref`, `text`/`content_desc`, or raw `x`,`y` (with `image_width`/`image_height` when they come from a scaled screenshot). `ms` (hold time, default 800) only applies to the x,y form.
open_urlOpen a URL (http/https/market) on the device, optionally forcing it into a specific app package (e.g. open a link in Chrome specifically).
press_keyPress a hardware/navigation key: back, home, enter, delete, tab, escape, up, down, left, right, space, power, volup, voldown, recent, menu, wakeup.
screenshotTake a screenshot of the device screen right now and return it as an image you can look at, plus one line of text with the image size and the device's real screen size.
scrollScroll a list/container up, down, left, or right. `ref` must be the ref of the scrollable container itself (a ScrollView or List line in the snapshot), not of a row inside it: scrolling a single row does nothing. If the container has no ref, use swipe() instead.
send_intentwrite actionStart an activity with an arbitrary Android intent (`am start -a ACTION`), e.g. action="android.settings.WIFI_SETTINGS" to jump straight to a settings page. `component` is "package/.Activity"; `extras` values become string, int or boolean extras by their type. Returns ok plus the new foreground app.
snapshotGet an accessibility-tree snapshot of the current screen: every visible element with its text, role, and a `ref` id you can pass to tap/type/scroll. This is how the agent 'sees' the phone — read it before acting, and take a fresh one after any action since refs reset on every snapshot.
stop_appForce-stop a running app by package name.
swipeSwipe from one point to another: in device pixel coordinates, or, with `image_width` and `image_height`, in the pixels of a screenshot of that size.
tapTap an element. Prefer `ref` from a snapshot(), or `text`/`content_desc` to tap by visible label. Falls back to raw `x`,`y` pixel coordinates: in device pixels, or, with `image_width` and `image_height`, in the pixels of a screenshot of that size (the API maps the point to the screen).
type_textType text into a field. Optionally tap a `ref` or `text_target` label first to focus the field, `clear` the existing value, or press Enter after. Keystrokes sent while the field is still opening are lost, so if tapping the field opens a new screen (e.g. a search page), tap it first, wait for it with snapshot() or wait_for_text(), then type with no target. Check the result with snapshot(). Only pri
uninstall_appUninstall an app by package name.
wait_for_textWait until `text` appears somewhere on screen (e.g. after a slow screen transition), up to timeout_ms (max 120000). Returns the settled snapshot.
whoamiShow which ERIUS PHONE account (tenant) and key id this server is using, and the device ids it can access. Handy to check the API key works.
Public scan report
scanner v0.1.10 · 2026-10-13 · same rubric, same numbers if you re-run it
- Code scan4 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
How ERIUS PHONE compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 58% of 1,299 Productivity servers
- Tools
- 21
- the typical Productivity server has 7
- Tools that change things
- 5%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 50% of 854 Productivity servers
- Downloads a week
- 146
- more than 65% of 427 Productivity servers with a package
What its tools let an agent do: 17 read · 1 create · 1 send or post · 2 run or deploy
Install ERIUS PHONE in Claude Code, Cursor or VS Code
claude mcp add erius-phone-mcp -- uvx erius-phone-mcp
What the publisher says
From the ERIUS PHONE repository's README, as published. We do not edit it. Read it on GitHub
erius-phone-mcp
<!-- mcp-name: io.github.Protremix/erius-phone-mcp -->
An MCP server that turns your ERIUS PHONE device into native tools for Claude Code, Claude Desktop, Cursor, or any other MCP client. An ERIUS PHONE device is a real Android phone or tablet dedicated to your agent. Once this server is connected, your agent can:
- list its devices
- read the screen as an accessibility tree or a screenshot
- tap, long-press, type, swipe and scroll
- launch and stop apps, open URLs and send intents
- install and uninstall APKs
- pull crash logs
The agent drives the device directly. You don't write any glue code.
Early access: this package is pre-1.0 (0.2.0). Tool names and
arguments may still change before 1.0.
Requirements
"Getting an API key" below.
- Python 3.10+
- An ERIUS PHONE API key. Sign up at ; see
Install
Option A: uvx (no install step). If you have uv, your MCP client can launch the server with uvx erius-phone-mcp. uv fetches the package and keeps it in its own environment. The client configs below show this form.
Option B: pip, into its own virtual environment so its dependencies don't clash with your other Python projects:
python3 -m venv ~/.venvs/erius-phone-mcp
~/.venvs/erius-phone-mcp/bin/pip install erius-phone-mcpThis installs an erius-phone-mcp command at ~/.venvs/erius-phone-mcp/bin/erius-phone-mcp. Use that absolute path as the command in your client config: GUI apps such as Claude Desktop and Cursor usually don't see your venv's PATH. python -m eriusphonemcp does the same thing as running the command.
Configuration
The server is configured entirely through environment variables:
Getting an API key
Request access at . During early access the ERIUS PHONE team sets up each account by hand. You'll receive your API key and device id(s) directly from us. If you signed up and haven't heard back, email info@eriusphone.com. The same key signs you in to the dashboard at , which shows your devices live.
Treat the key like a password: anyone who has it can control your device.
Important: MCP clients start this server as a subprocess, and they
generally do not pass along variables you export in your shell. Put
the variables in the client's env block, as shown below.
Add it to your MCP client
In every example, replace the key and device id with your own. If you installed with pip instead of using uvx, replace "command": "uvx", "args": ["erius-phone-mcp"] with "command": "/home/you/.venvs/erius-phone-mcp/bin/erius-phone-mcp".
Claude Code
claude mcp add erius-phone \
-e ERIUS_PHONE_API_KEY=your-api-key \
-e ERIUS_PHONE_DEFAULT_DEVICE=your-device-id \
-- uvx erius-phone-mcpShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
ERIUS PHONE: common questions
- Is ERIUS PHONE MCP server safe?
- Mostly: it is graded B (82/100). Read the ERIUS PHONE safety report
- How do I install ERIUS PHONE?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does ERIUS PHONE need an API key?
- Yes. The registry entry asks for
ERIUS_PHONE_API_KEY. - Is ERIUS PHONE maintained?
- The last commit was 24 days ago (2026-10-11). The latest release is v0.2.0.
- What can I use instead of ERIUS PHONE?
- Servers from other publishers that do the same job: iPhone Use MCP server, Argent MCP server and DOMShell MCP server. Compare all ERIUS PHONE alternatives.
- How does ERIUS PHONE compare with other Productivity MCP servers?
- safety score 82/100 (higher than 58% of 1,299 Productivity servers); tools 21 (the typical Productivity server has 7); tools that change things 5% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to ERIUS PHONE
Same job from other publishers: the closest match first, then the best rated.
iPhone UseDrive a real iPhone from a Mac: read the screen as text, tap, type, scroll, replay saved flows.not reviewedGrowingB- ArgentDrive iOS Simulators, Android emulators, TVs and Electron/web apps from your coding agentnot reviewedWidely usedA
DOMShellDrive Chrome with filesystem commands (ls, cd, grep, click, type). One MCP tool, multi-agent.not reviewedGrowingA- TrelloMCP server for Trello boards with rate limiting, type safety, and comprehensive API integration.not reviewedEstablishedB
- Sceneview3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.not reviewedEstablishedA