移动设备管理协议

通过模型上下文协议(MCP)管理和交互移动设备及模拟器,支持应用安装、设备管理、日志检索等功能,适用于iOS和Android开发环境。

  • by jsuarezruiz
  • C#
  • 本地部署
  • 42 星标
  • 更新于
在 GitHub 查看 jsuarezruiz/mobile-dev-mcp-server

使用说明

移动开发MCP

通过模型上下文协议使用AI控制移动设备!

这是一个MCP,旨在管理移动设备和模拟器并与之交互。它为iOS和Android开发环境的应用程序安装、设备管理和日志检索等任务提供了实用程序。

特性

  • 设备管理:启动、关闭或列出连接的设备和模拟器。
  • 应用程序管理:在目标设备上安装、启动或管理应用程序。
  • 视觉诊断:截取设备和模拟器屏幕的屏幕截图。
  • 文件管理:无缝地将文件推送到连接的设备或从连接的设备中提取文件。
  • UI自动化:通过点击、滑动、文本输入与设备交互。
  • 日志管理:从连接的设备检索日志文件和系统信息。
  • 与跨平台支持:支持Android和iOS环境。

先决条件

要使用此服务器,请确保在您的开发计算机上安装了以下工具:

  • 用于Android设备管理的ADB(Android调试桥)。
  • 用于iOS模拟器管理的Xcode命令行工具(xcrun simctl)。
  • 脸书 国际开发银行 工具 (请参阅安装指南) (仅适用于iOS上的UI自动化)。
  • .NET SDK(例如.NET 9)

设置

  1. 克隆此存储库
  2. 导航到项目目录
  3. 构建项目: dotnet build
  4. 使用VS Code或其他客户端进行配置:
"mcp-server-mobiledev": {
    "type": "stdio",
    "command": "dotnet",
    "args": [
        "run",
        "--project",
        "/Users/jsuarezruiz/GitHub/mobile-dev-mcp-server/src/MobileDevMcpServer.csproj"
    ]
}

测试

MCP Inspector是一个交互式开发工具,专为测试和调试MCP服务器而设计。可以使用nodejs命令npx和以下命令从我们的应用程序文件夹启动检查器:

npx @modelcontextprotocol/inspector dotnet run

工具

  • android_list_devices:检索所有连接的Android设备的详细信息。
  • android_list_packages:列出特定Android设备上安装的所有应用程序。
  • android_install_app:将应用程序(APK)安装到Android设备上。
  • android_launch_app:在Android设备上启动特定应用程序。
  • android_diagnostics_bug_report:从Android设备捕获全面的错误报告。
  • android_logs_logcat:使用logcat从Android设备获取系统日志。
  • android_logs_logcat_log_level:使用logcat按日志级别从Android设备获取系统日志。
  • android_files_push:将本地文件推送到Android设备。
  • android_files_pull:将文件从Android设备拉到本地计算机。
  • android_files_delete_file:此工具允许您从连接的Android设备中删除指定的文件。
  • android_ui_tap:在Android设备上模拟指定屏幕坐标处的点击动作。
  • android_ui_swipe:模拟Android设备屏幕上两点之间的滑动动作。
  • android_ui_input_text:模拟在Android设备上的字段中输入文本。
  • android_ui_press_key:使用序列号和键码模拟Android设备上的按键。
  • android_screenshot:从指定的Android设备捕获屏幕截图。
  • android_compare_screenshot_llm:使用提供的提示和与大型语言模型(LLM)的交互比较两个屏幕截图。
  • android_shell_command:在Android设备上运行shell命令。
  • ios_list_devices:检索所有连接的iOS模拟器设备的详细信息。
  • ios_booted_device:检索第一个启动的模拟器设备的名称和ID。
  • ios_boot_device:启动指定的iOS模拟器设备。
  • ios_launch_app:在指定的iOS模拟器设备上启动应用程序。
  • ios_shutdown_device:关闭指定的iOS模拟器设备。
  • ios_ui_tap:在iOS设备上模拟指定屏幕坐标处的点击动作。
  • ios_ui_swipe:模拟iOS设备屏幕上两点之间的滑动动作。
  • ios_ui_input_text:模拟在iOS设备上的字段中输入文本。
  • ios_ui_press_key:模拟按下iOS设备上的特定按键。
  • ios_screenshot:从指定的iOS设备捕获屏幕截图。
  • ios_video_start:录制iOS模拟器的视频。
  • ios_video_stop:停止模拟器视频录制。

AI助手查询示例

尝试以下查询:

  • “显示当前连接的所有Android设备并提供其详细信息。”
  • “显示所有连接的iOS设备及其规格。”
  • “分析最近的日志并确定是否有任何错误消息。”
  • “在我的设备上安装此APK,并确认是否正确安装。”
  • “提供我手机上安装的所有应用程序的列表。”
  • 按下位于坐标(1001000)处的主页按钮

画廊

贡献

我很高兴欢迎捐款 帮助改进这个项目!无论您是在修复错误、添加新功能还是增强文档,我们都非常感谢您的支持。

  1. 分叉存储库
  2. 创建你的功能分支(git checkout-b feature/my feature)
  3. 进行更改
  4. 提交您的更改(git Commit-m'添加新功能')
  5. 推送到分支(git推送原点功能/我的功能)
  6. 打开拉取请求

许可证

该项目在MIT许可证下可用。