
Mobile Next - MCP server for Mobile Automation

2025.04.18
234
TypeScript移动自动化原生应用自动化浏览器自动化
Mobile Next - MCP server for Mobile Automation 是一个基于模型上下文协议(MCP)的服务器,旨在通过平台无关的接口实现可扩展的移动自动化。它消除了对特定iOS或Android知识的需求,允许代理和大型语言模型(LLMs)通过结构化的可访问性快照或基于屏幕截图的坐标点击与原生iOS/Android应用程序和设备进行交互。
View on GitHub
Overview
基本能力
产品定位
Mobile Next - MCP server for Mobile Automation 是一个专为移动自动化设计的服务器,支持iOS和Android平台,无需特定平台知识即可实现自动化操作。
核心功能
- 快速且轻量级:使用原生可访问性树进行大多数交互,或在可访问性标签不可用时使用基于屏幕截图的坐标。
- LLM友好:在可访问性快照中无需计算机视觉模型。
- 视觉感知:评估和分析屏幕上实际呈现的内容以决定下一步操作。
- 确定性工具应用:尽可能依赖结构化数据,减少纯基于屏幕截图方法的歧义。
- 提取结构化数据:可以从屏幕上任何可见内容中提取结构化数据。
适用场景
- 原生应用自动化(iOS和Android),用于测试或数据输入场景。
- 脚本化流程和表单交互,无需手动控制模拟器/仿真器或物理设备。
- 由LLM驱动的多步骤用户旅程自动化。
- 基于代理的框架的通用移动应用程序交互。
- 代理间通信的移动自动化用例和数据提取。
工具列表
- mobile_list_apps:列出设备上安装的所有应用程序。
- mobile_launch_app:启动设备/仿真器上的指定应用程序。
- mobile_terminate_app:终止正在运行的应用程序。
- mobile_get_screen_size:获取移动设备的屏幕大小(像素)。
- mobile_click_on_screen_at_coordinates:基于坐标点击屏幕上的指定位置。
- mobile_list_elements_on_screen:列出屏幕上的元素及其坐标。
- mobile_element_tap:通过可访问性定位器点击UI元素。
- mobile_tap:点击屏幕上的指定坐标。
- mobile_press_button:按下设备上的按钮(如主页、返回、音量、电源等)。
- mobile_open_url:在设备浏览器中打开URL。
- mobile_type_text:在聚焦的UI元素中输入文本。
- mobile_element_swipe:从一个UI元素滑动到另一个UI元素。
- mobile_swipe:在两个屏幕坐标之间执行滑动手势。
- mobile_press_key:按下硬件键或触发特殊事件。
- mobile_take_screenshot:捕获当前设备屏幕的截图。
- mobile_get_source:获取当前设备UI结构(可访问性快照)。
常见问题解答
- 如何连接MCP与代理和移动设备? 需要安装Xcode命令行工具、Android平台工具、node.js以及支持MCP的基础模型或代理。
- 如何在仿真器/模拟器上运行“无头”模式? 启动仿真器/模拟器后,使用相应的标志运行Mobile MCP。
使用教程
使用依赖
- Xcode命令行工具:
bash xcode-select --install
- Android平台工具: 下载并安装Android Platform Tools。
- node.js: 下载并安装node.js。
安装教程
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
或使用Claude Code:
claude mcp add mobile -- npx -y @mobilenext/mobile-mcp@latest
调试方式
- 启动iOS模拟器:
bash xcrun simctl list xcrun simctl boot "iPhone 16"
- 启动Android模拟器: 使用avdmanager或emulator命令启动模拟器。