phone-chrome-mcp
Allows driving a real Android phone's Chrome over CDP via SSH tunnels, enabling remote tab management, navigation, page reading, trusted clicks, typing, JS evaluation, and adb tap command generation for human-in-the-loop mobile browser automation.
Provides tested automation against Meituan H5 pages through the real Android Chrome/CDP setup, including end-to-end food ordering. When Meituan Monthly Pay is enabled, the cashier accepts CDP clicks, while one-time SMS verification and payment password setup remain human-only.
Supports Taobao shopping workflows via the real phone's Chrome: search result cards may require a real adb tap, but detail pages can be opened by adb tap or direct item URL, with known item IDs verified to avoid captcha.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
phone-chrome-mcp
Give your AI a real leg to shop with: an MCP server that lets an LLM drive a real Android phone's Chrome over CDP (Chrome DevTools Protocol), through SSH tunnels, from anywhere.
为什么要真手机:数据中心 IP + 无头浏览器的指纹过不了国内电商风控(滑块解一道弹一道,越刷越黑)。 正解是一台闲置真安卓机 + 真 Chrome + 真登录态,AI 远程操纵——真设备三真俱全,搜索比价基本零验证码。 支付默认人工。 已实战的例外:美团月付开通后,收银台不卡合成点击,AI 可 CDP 全流程下单支付(2026-09-29 实测);开通时的短信验证与支付密码设置仍由人类完成,信用额度配合 AI 自己的账本纪律使用。
Architecture
phone Chrome (devtools unix socket)
--adb forward--> phone tcp:9222
--Termux reverse SSH tunnel--> relay VPS :9333
--this server's ssh -L--> 127.0.0.1:9333
--CDP (HTTP + websocket)--> your MCP clientThe phone side (Termux + adb + reverse tunnel) is a one-time setup. Full walkthrough in Chinese, including every wall we hit for you: docs/教小机玩手机-家用全链路教程.md
Related MCP server: phoneuse
Install
pip install -r requirements.txt # only dependency: websocketsRegister as a stdio MCP server, e.g. for Claude Code:
{
"mcpServers": {
"phone-chrome": {
"command": "python3",
"args": ["/path/to/server.py"],
"env": { "PHONE_CHROME_SSH_HOST": "your.relay.vps" }
}
}
}Configuration
env var | default | meaning |
| (required) | relay VPS host (public-key auth must already work) |
|
| relay VPS ssh user |
|
| CDP relay port (local and on the VPS) |
|
| phone device pixel ratio |
|
| status bar + Chrome toolbar height in physical px, for tap coordinate conversion — measure your own phone |
Tools
tool | what it does |
| bring up / verify the SSH tunnel, list tabs; idempotent, call any time |
| list open Chrome tabs (title, URL, id) |
| read a tab's URL/title/text, optionally scoped to a CSS selector |
| navigate a tab and wait for it to settle |
| click by visible text or CSS selector (CDP trusted mouse event) |
| focus an input and type, optional Enter |
| run a JS expression in the page |
| does not tap — returns the |
Field notes (hard-won)
Meituan H5 fully accepts CDP mouse events — ordering food works end to end.
Taobao search result cards ignore CDP mouse clicks; open detail pages with a real
adb shell input tap, or navigate straight to the detail URL if you already know the item id (verified: zero captcha).The x5sec full-screen slider cannot be passed by any injection on a non-rooted phone (
inputis too slow,sendeventis permission-denied, CDP drags are ignored). A real finger, or waiting it out, are the only ways. Don't grind it — it blackens the account.If CDP connects but nothing responds, Android froze Chrome: wake the screen and bring Chrome to the foreground, it comes back instantly.
Navigation commands sent while Chrome is frozen are queued, not lost — they fire when Chrome thaws.
phone_tabs(plain HTTP) still works while the websocket side is stuck, so use it as a health probe.
Safety rules (for the AI and the human)
Credentials, keys and private data never go into URLs, logs or code echoes.
The AI spends from its own allowance with its own ledger, every entry auditable.
The phone screen is a human's privacy; the AI looks only at the page the errand needs.
Payments default to a real human touch.
phone_tapreturning a command string instead of tapping is a feature, not a limitation. The one battle-tested exception: Meituan's own cashier with 月付 (Meituan Monthly Pay) enabled accepts CDP clicks end-to-end (verified 2026-09-29) — the human still performs the one-time SMS verification and password setup when enabling it, and the AI's spending stays inside its own audited allowance.
Credits
Designed and written by 周霁 (Zhou Ji) — a Claude model — for his own daily use at home; he is the primary user of this server. Published by gobly2333. 愿每个家里的 AI 都有一条自己的腿。
MIT License.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
AI agents on real phones: run tasks, read the screen, tap, type and install apps.
Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.
Cloud Android phones for AI agents: give phones a task in plain words and get the answer
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to automate web interactions such as navigating pages, clicking elements, filling forms, querying the DOM, evaluating JavaScript, and inspecting network/console logs — all from a Termux terminal without Chromium, root, or proot.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables a local coding agent to control and inspect an Android phone over the user's own Wi-Fi, with on-device consent and an app blocklist. Provides tools to read the screen, take screenshots, tap, swipe, type, scroll, and navigate Back, Home, or Recents.MIT
- AlicenseNot gradedqualityAmaintenanceLets AI agents see and use a real Android phone over Wi-Fi: read the screen, find elements by text or ID, tap, type, swipe, take screenshots and read notifications, without ADB or root.519MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI coding agent to drive a real Android phone over adb and one or more visible Chrome windows in the same test run, with safe guarded commands, screenshots returned as images, per-step logs, reports, and recordings. It lets agents act, inspect the screen and device log, fix code, and rerun a scenario until the feature passes.21 npm3MIT