PhoneMCP 是一个开源的 AI 手机操控工具,在电脑上运行,通过 MCP 协议和 ADB 把安卓手机交给 AI 助手:你用一句话说明要做什么,AI 自己截屏、认出界面元素、点击并输入,直到把事情做完。

从「给建议」到「动手做」:它的工作方式
多数 AI 助手的终点是一段文字回复,而 PhoneMCP 把对话接到真实的手机操作上,链路是:AI 客户端 → MCP 协议 → PhoneMCP → ADB → 安卓手机。每收到一条自然语言指令,它先截取当前屏幕,把界面解析成带编号的元素列表,AI 据此决定点哪里、输什么,执行后再截屏确认结果,循环推进直到任务完成。
这套「截屏—识别—执行—验证」的循环,解决的是 AI 只能停留在语音或文字层面的问题:打开应用、翻找设置、输入文字这类原本要亲手做的动作,现在可以由 AI 按你的描述代为完成。
两种接入方式:Skill 零配置或 MCP 服务器
官方提供预编译可执行文件,内置 ADB,不需要单独安装 Android 调试桥。接入 AI 客户端有两条路:
- Skill 模式(推荐):从 Releases 下载对应平台的 Skill 包,解压到 ~/.claude/skills/phone-mcp/ 等技能目录,AI 读取 SKILL.md 后直接调用命令行完成任务,零配置上手
- MCP 服务器模式:运行 serve 命令,默认在 8009 端口提供 SSE 服务(端点 /Phone/sse),也可以用 –transport stdio,把地址填入 Claude Desktop、Cursor 等客户端的 mcpServers 配置
- 源码运行:克隆仓库后安装 requirements.txt 依赖,用 Python 启动,适合想改代码的开发者
能用界面元素索引定位时,尽量不用裸坐标点击:换分辨率、换设备后坐标会失效,按索引、文本或资源 ID 定位更稳。
控件读不到时:OCR 模式兜底
原生应用的界面控件可以被直接枚举,但在 WebView 网页、游戏画面和 Flutter 应用里,控件树往往拿不到。PhoneMCP 为这类场景准备了 OCR 模式:靠文字识别读出屏幕内容,AI 再依据识别结果决定下一步,等于给读不到控件的界面留了一条备用的眼睛。
可以交给 AI 的日常操作
- 触控模拟:点击、双击、滑动,覆盖常见的屏幕手势
- 文字输入:向输入框发送文本,中文支持完整,也能一键清空已输入内容
- 系统按键:返回、主页、音量、电源等物理键事件,方便退出应用或锁屏
- 应用管理:按名称或包名启动应用、搜索已装应用、查询当前前台应用
- 屏幕感知:实时截屏并列出界面元素,作为 AI 决策的依据
连接方式与适用人群
手机端通过 USB 数据线或 WiFi 连接,支持同时挂载多台设备,适合需要批量处理或同时管理多部手机的场景。控制端官方提供 Windows、macOS(Apple Silicon)、Linux 的预编译版本;手机端要求 Android 并开启开发者选项中的 USB 调试,首次连接时在手机上确认授权。
USB 调试授权等于把手机交给控制端操作:只授权给自己的电脑,换用公共电脑前先在开发者选项里撤销已有的调试授权。
对普通用户,它的价值是把重复操作交给一句话描述;对开发者和自动化测试人员,它提供了把自然语言转成稳定指令流的接口,减少手写脚本的量。
版本与资源说明
| 项目 | 信息 |
|---|---|
| 项目地址 | GitHub 开源仓库 kengerlwl/phoneMcp |
| 当前发布 | v0.5.0(官方 Releases 页面标注 Latest) |
| 开源协议 | MIT |
| 控制端运行环境 | Windows / macOS / Linux(预编译可执行文件,内置 ADB) |
| 手机端要求 | Android,开启开发者选项与 USB 调试 |
官方仓库当前发布到 v0.5.0;本页分享包本身未标注版本号,安装后以程序内说明为准。开启 USB 调试前请确认电脑是自己的常用设备,不需要时及时关闭调试开关。



暂无评论内容