Mobile Next - MCP server for Mobile Automation

Mobile Next - MCP server for Mobile Automation

site icon
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命令启动模拟器。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。