MCP server that gives your AI agent a real Android phone (ERIUS PHONE): read the screen, tap, type, launch apps, read crash logs.
erius-phone-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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
- Python 3.10+
- An ERIUS PHONE **API key**. Sign up at ; see
"Getting an API key" below.
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:
This 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 erius_phone_mcp does the same
thing as running the command.
Configuration
The server is configured entirely through environment variables:
| Variable | Required | What it is |
|---|---|---|
| ERIUS_PHONE_API_KEY | **yes** | Your ERIUS PHONE API key. Every request is authenticated with it and scoped to your account. |
| ERIUS_PHONE_DEFAULT_DEVICE | no | The device id to use when a tool call doesn't name one (e.g. vanilla). Without it, the agent passes device on each call; list_devices shows the ids. |
| ERIUS_PHONE_API_URL | no | API base URL. Default https://api.eriusphone.com; only set it if we gave you a different one. |
| ERIUS_PHONE_TIMEOUT | no | HTTP timeout per request, in seconds. Default 30. |
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
Add -s user to make the server available in all your projects, or
-s project to write it to a shared .mcp.json. Don't commit your key to a
shared .mcp.json. Claude Code expands ${VAR} references in that file, so
you can keep the key in an environment variable instead:
Run /mcp inside Claude Code to check that erius-phone is connected.
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config). On
macOS it's in ~/Library/Application Support/Claude/; on Windows it's in
%APPDATA%\Claude\.
If Claude Desktop can't find uvx, put its absolute path in command
(which uvx). Fully quit and reopen Claude Desktop after editing.
Cursor
Put the same mcpServers block in ~/.cursor/mcp.json to use it in all
projects, or in .cursor/mcp.json for one project. Then enable erius-phone
under Cursor Settings → MCP.