如何把 AI Agent 接上真机Mobile MCP 移动自动化服务器实操指南含 30 控制工具【免费下载链接】mobile-mcpModel Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)项目地址: https://gitcode.com/GitHub_Trending/mo/mobile-mcpMobile MCP 是一个面向移动自动化的开源 MCP Server接上任意支持 MCP 的客户端后AI agent 就能直接操作 iOS 与 Android 的模拟器、仿真器和真机——启动应用、点击滑动、读取屏幕元素、抓取日志与崩溃报告全程不需要你编写平台专属的测试脚本。 什么时候需要它这一节讲清楚它针对的三个常见痛点。agent 够不着手机。桌面端的 agent 能跑 shell、编辑代码却点不了手机屏幕上的按钮想让 LLM 驱动一个多步移动端流程注册应用、填表、下单此前没有统一入口。两套平台两套语法。传统移动自动化要在 XCUITest、Espresso、UIAutomator 之间来回切换胶水代码按平台各写一份。Mobile MCP 用同一组mobile_前缀的工具覆盖 iOS 模拟器和真机、Android 仿真器和真机agent 侧不用感知平台差异。纯截图方案又慢又贵。只靠截图加视觉模型看懂界面token 开销大且结果不稳定。Mobile MCP 优先读取原生的可访问性accessibility树拿到元素的标签和坐标后才执行点击只有游戏、Canvas 绘制这类没有可访问性信息的界面才退回截图加坐标的方式。 安装与设备接入这一节给出从零跑通的最短路径。前置要求Node.js v20 及以上package.json中engines声明为20、macOS 上的 Xcode 命令行工具驱动 iOS 模拟器、Android 的 platform-tools提供adb。无需构建源码npx直接拉起即可npx -y mobilenext/mobile-mcplatest仓库根目录的 mcp.json 已提供标准配置片段把它并入客户端的mcpServers即可command为npx参数是-y和mobilenext/mobile-mcplatest。配置完成后让 agent 执行一句列出可用设备。能返回正在运行的模拟器、仿真器或已授权的真机说明链路通了返回为空时先确认模拟器已启动或adb devices能看到设备。HTTP 模式与鉴权默认走 stdio 传输。若要把服务挂到 CI 或多客户端共享加--listen切换为 Streamable HTTPnpx mobilenext/mobile-mcplatest --listen 3000服务绑定localhost:3000客户端连接http://host:3000/mcp该模式是无状态的不需要会话亲和适合水平部署。设置环境变量MOBILEMCP_AUTH后所有请求必须携带对应的 Bearer Token否则返回 401旧的 SSE 端点已下线指向/sse的客户端会收到 410 提示。实现见 src/index.ts。 Agent 实际能做什么这一节按用途归纳仓库暴露的全部 30 工具只列名字和职责。基础操作与应用管理设备层mobile_list_available_devices枚举所有目标mobile_get_screen_size、mobile_set_orientation管理屏幕几何mobile_set_location覆写 GPS 坐标mobile_clipboard读写剪贴板。应用层mobile_list_apps、mobile_launch_app、mobile_terminate_app、mobile_get_foreground_app、mobile_install_app支持 .apk/.ipa/.app/.zip、mobile_uninstall_app。交互层mobile_click_on_screen_at_coordinates、mobile_double_tap_on_screen、mobile_long_press_on_screen_at_coordinates、mobile_swipe_on_screen、mobile_type_keys、mobile_press_buttonHOME/BACK/VOLUME 等物理键、mobile_open_url非标准 scheme 默认被拦截。日志、崩溃与批量执行mobile_get_device_logs实时抓 logcat 或 iOS 统一日志可按keyvalue过滤。mobile_list_crashes/mobile_get_crash按 ID 取完整崩溃报告应用闪退时直接可查。mobile_batch_commands一次调用顺序执行多个工具例如点击、输入、再点击末尾可选地附带一份屏幕元素清单减少往返轮次。云端真机另有mobile_login_to_cloud_provider、mobile_list_remote_devices、mobile_allocate_remote_device、mobile_release_remote_device四个工具用于租用远程物理设备。 内部实现一次点击如何落到手机这一节从入口往下拆说明请求在哪些文件里被处理。src/index.ts 是入口按参数决定 stdio 或 HTTP 传输并创建服务器实例。src/server.ts全仓库最大的文件约 1180 行负责把每个工具注册到 MCP SDK 上。真正与设备打交道的是 src/robot.ts 里定义的Robot接口——tap、swipe、sendKeys、getElementsOnScreen、getLogs等方法都声明在这里平台差异被关在这个抽象后面。平台实现分两条路径默认通过 src/mobilecli.ts 调用mobilecli二进制启动时按操作系统和架构从 npm 平台包中定位对应可执行文件由它统一调度 iOS/Android 设备当设置MOBILEMCP_LEGACY_ROBOT1时Android 与 iOS 真机改走内置的按平台实现包括基于 adb 的 src/android.ts、基于 WebDriverAgent 的 src/ios.ts 与 src/webdriver-agent.ts以及 src/iphone-simulator.ts。屏幕元素在返回前会经过 src/format-elements.ts 过滤出可交互项坐标换算逻辑在 src/coordinate-mapping.ts。仓库还自带一个 agent 技能说明 skills/mobile-automation/SKILL.md约定了先列元素、再操作、每步之后复查界面的标准工作流。⚙️ 常用配置与容器化部署这一节汇总需要知道的开关和部署方式。环境变量作用MOBILEMCP_AUTHHTTP 模式下强制 Bearer Token 鉴权MOBILEMCP_DISABLE_TELEMETRY置1关闭匿名遥测MOBILEMCP_ALLOW_UNSAFE_URLS置1允许mobile_open_url打开非标准 URL schemeMOBILEMCP_LEGACY_ROBOT置1让 Android 与 iOS 真机使用内置平台驱动仓库根目录提供了 Dockerfile基于node:22-slim构建产物只含lib/镜像内装了 adb 客户端并通过ADB_SERVER_SOCKETtcp:host.docker.internal:5037连回宿主机的 adb 服务——设备仍然接在宿主机上容器只承担控制面。无头场景下先启动仿真器/模拟器iOS 用xcrun simctl bootAndroid 用 emulator再拉起服务即可。适合谁用如何参与这一节面向两类读者想验证自己业务的开发测试人员以及想给项目贡献代码的工程师。典型用法让 agent 在真机或模拟器上跑一段端到端流程并验证业务逻辑、在 CI 里做可重复的 UI 回归、或从 App 界面里提取结构化数据。它适合目标是描述性的做什么而不是选择器级别的点哪个 id的自动化需求。参与方式先阅读 CONTRIBUTING.md 了解构建与测试流程——单元测试用 Playwright 驱动用例在 test/ 目录npm test即可运行规划中的功能见 ROADMAP.md协作规范见 CODE_OF_CONDUCT.md。需要本地源码时git clone https://gitcode.com/gh_mirrors/mo/mobile-mcp【免费下载链接】mobile-mcpModel Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)项目地址: https://gitcode.com/GitHub_Trending/mo/mobile-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?