通过MCP控制Android设备——点击、滑动、OCR、截图、UI自动化、Shell、文件管理及AI代理编排,实现Android RPA。
Yyds.Auto – Android RPA Skill for AI Agents.是一项面向实际任务的技能,主要用于Let LLMs通过MCP协议直接控制Android设备.;Yyds.Auto是生产级的Android RPA(Robotic process Automation)Plaf。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
让大语言模型(LLM)通过 MCP 协议直接控制 Android 设备。
Yyds.Auto 是一款生产级 Android RPA(机器人流程自动化)平台,对外暴露 60 个 MCP 工具,覆盖 Android 设备自动化全场景——从像素级触控注入与 OCR,到 UI 层级检查、文件管理,以及设备端 AI Agent 编排。
| 类别 | 工具数量 | 能力说明 |
|---|---|---|
| 📱 设备信息 | 4 | 设备型号、屏幕尺寸、IMEI、前台应用、网络状态 |
| 👆 触控与输入 | 8 | 点击、滑动、长按、拖拽、文本输入、剪贴板操作、按键模拟 |
| 📸 截图 | 2 | 以 base64 格式返回截图(LLM 可直接解析),或保存至设备本地 |
| 🌲 UI 自动化 | 5 | UI 层级树导出、按属性查找元素、元素关系查询、等待与滚动控制 |
| 🔍 OCR 与图像 | 8 | 屏幕 OCR、文字点击(tap-on-text)、模板匹配、像素颜色获取、图像比对 |
| 💻 Shell | 1 | 以 ROOT/SHELL 权限执行 shell 命令 |
| 📦 应用管理 | 8 | 启动/停止应用、列出已安装应用、安装/卸载 APK、打开 URL、显示 Toast |
| 📁 文件操作 | 7 | 列出、读取、写入、删除、重命名设备上的文件与目录 |
| 🐍 脚本项目 | 5 | 列出/启动/停止 Python 项目,执行 Python 代码片段 |
| 📚 Pip 管理 | 4 | 列出、安装、卸载、检查 Python 包 |
| 🤖 AI Agent | 8 | 通过自然语言指令配置并运行设备端 AI Agent |
AI Agent(Claude / GPT / Gemini / Cursor / Windsurf / ...) ↓ MCP 协议(stdio,JSON-RPC) yyds-auto-mcp(Node.js,本技能) ↓ HTTP REST(JSON,端口 61140) yyds.py 引擎(Android,aiohttp 服务端) ↓ IPC yyds.auto 引擎(Android,内核级 UI 自动化)
MCP 服务端通过 HTTP REST 与设备端引擎通信。USB 连接时自动配置 ADB 端口转发;也支持 WiFi/LAN 下的远程设备。
npm install -g yyds-auto-mcp
# 默认地址:127.0.0.1:61140,自动配置 ADB 端口转发 yyds-auto-mcp
YYDS_DEVICE_HOST=192.168.1.100 YYDS_DEVICE_PORT=61140 yyds-auto-mcp
在 claude_desktop_config.json 中添加如下配置:
{
"mcpServers": {
"yyds-auto": {
"command": "npx",
"args": ["-y", "yyds-auto-mcp"],
"env": {
"YYDS_DEVICE_HOST": "127.0.0.1",
"YYDS_DEVICE_PORT": "61140"
}
}
}
}
在编辑器的 MCP 设置中添加相同的 MCP 服务端配置。
| 变量名 | 默认值 | 说明 |
|---|---|---|
YYDS_DEVICE_HOST |
127.0.0.1 |
设备 IP 地址 |
YYDS_DEVICE_PORT |
61140 |
引擎监听端口号 |
YYDS_DEVICE_SERIAL |
(首个设备) | 指定 ADB 设备序列号 |
YYDS_ADB_PATH |
(自动检测) | 自定义 ADB 二进制路径 |
device_info — 完整设备信息:引擎版本、屏幕尺寸、IMEI、前台应用get_foreground_app — 当前前台应用及 Activityget_screen_size — 设备屏幕分辨率is_network_online — 检查网络连通性tap (x, y, count?, interval?) — 在指定坐标点击(支持多次点击)swipe (x1, y1, x2, y2, duration?) — 执行滑动操作long_press (x, y, duration?) — 在指定坐标长按drag (x1, y1, x2, y2, duration?) — 从点 A 拖拽至点 Binput_text (text) — 向当前焦点字段输入文本set_clipboard / get_clipboard — 剪贴板读写操作press_key (key) — 模拟按键(home、back、enter 等)take_screenshot (quality?) — 返回 base64 编码的 JPEG 图像(LLM 可直接解析)save_screenshot (path?) — 将截图保存至设备存储dump_ui_hierarchy — 输出完整 UI 层级树(当内容 >15KB 时自动裁剪,仅保留可操作元素以节省 LLM token)find_ui_elements (text?, resourceId?, className?, clickable?, ...) — 按属性查找 UI 元素get_element_relation (hashcode, type?) — 查询某元素的父节点/子节点/兄弟节点wait_for_element (text?, resourceId?, timeout?) — 等待指定元素出现scroll_to_find (text?, direction?, maxScrolls?) — 滚动查找指定元素screen_ocr (x?, y?, w?, h?) — 对屏幕区域进行 OCR 文字识别(支持指定区域)tap_text (text, index?) — OCR 识别后点击匹配的文字image_ocr (path) — 对本地图像文件进行 OCR 识别find_image_on_screen (templates, threshold?) — 模板匹配get_pixel_color (x, y) — 获取指定坐标的像素颜色值compare_images (image1, image2) — 图像相似度比对wait_for_screen_change (timeout?, threshold?) — 等待屏幕内容发生变化run_shell (command) — 以提升权限执行 shell 命令launch_app / stop_app (packageName) — 启动/停止应用list_installed_apps — 列出所有非系统应用is_app_running (packageName) — 检查应用是否正在运行open_url (url) — 在浏览器中打开 URLshow_toast (message) — 显示 Toast 提示install_apk / uninstall_app — 安装/卸载应用list_files / read_file / write_file — 浏览、读取、写入文件file_exists / delete_file / rename_file / create_directorylist_projects / project_status — 查看 Python 项目列表及状态start_project / stop_project — 控制项目运行run_python_code (code) — 在设备上执行 Python 代码片段pip_list / pip_install / pip_uninstall / pip_showagent_run (instruction) — 使用自然语言指令运行设备端 AI Agentagent_stop / agent_status — 控制并监控 Agent 状态agent_get_config / agent_set_config — 配置 AI 服务商与模型agent_get_providers / agent_get_models — 列出可用服务商与模型agent_test_connection — 验证 AI 模型连接状态USB 连接中断时表现稳健:设备断开后,MCP 服务端将自动重建 ADB 端口转发,并重试失败请求。
首次通过 USB 连接时,服务端自动完成 ADB 端口转发配置,并在设备未运行引擎时自动启动它。
当 UI 层级树超过 15KB 时,系统自动裁剪,仅保留具备实际操作价值的元素(含 text、resource-id、content-desc 或 clickable/scrollable 属性者),显著降低 LLM token 消耗。
触控事件直接注入 Linux 内核层,因此可在任意应用中生效,包括游戏、受限制应用,以及屏蔽无障碍输入的区域。
连接成功后,可尝试以下提示词驱动你的 AI Agent:
print('Hello from Android!')”相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.7万人学习
共49课时 | 82.4万人学习