使用说明

项目简介

本项目 'Mobile Development MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过 AI 以标准化的方式控制和自动化移动设备,支持 Android 和 iOS 平台。它为 LLM 客户端提供了一系列工具,可以用于管理移动设备、安装和启动应用、进行 UI 自动化操作、获取设备日志和诊断信息等,从而实现更智能的移动设备交互和测试自动化。

主要功能点

  • 设备管理:列出、启动和关闭 Android 模拟器和 iOS 模拟器,以及列出已连接的真机设备。
  • 应用管理:在 Android 和 iOS 设备上安装、启动和列出已安装的应用。
  • UI 自动化:模拟在 Android 和 iOS 设备屏幕上的点击、滑动和文本输入等操作,实现 UI 自动化控制。
  • 日志管理:获取 Android 设备的系统日志 (logcat),支持按日志级别过滤。
  • 屏幕截图:截取 Android 和 iOS 设备的屏幕截图。
  • 诊断信息:捕获 Android 设备的 Bug 报告,用于问题诊断。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jsuarezruiz/mobile-dev-mcp-server.git
    cd mobile-dev-mcp-server
  2. 安装必备工具

    • Android 开发工具:确保已安装 ADB (Android Debug Bridge) 并已添加到系统环境变量 'PATH' 中。
    • iOS 开发工具:确保已安装 Xcode Command Line Tools (包含 'xcrun simctl')。
    • IDB 工具 (可选,iOS UI 自动化需要):按照 IDB 安装指南 安装 Facebook IDB 工具,并确保 'idb' 命令可用。
    • .NET SDK:安装 .NET SDK (例如 .NET 9 或更高版本)。
  3. 构建项目 在项目根目录下,运行以下命令构建项目:

    dotnet build

服务器配置

MCP 客户端需要配置服务器的启动命令才能连接到 'Mobile Development MCP Server'。以下是一个 JSON 格式的配置示例,适用于 MCP 客户端(例如 MCP Inspector 或集成到 IDE 的客户端):

{
  "mcp-server-mobiledev": {  //  服务器名称,客户端用于标识和调用
    "type": "stdio",         //  传输协议类型,这里使用标准输入输出流 stdio
    "command": "dotnet",      //  启动服务器的命令,这里使用 dotnet 运行 .NET 应用
    "args": [                //  命令参数
      "run",                //  dotnet run 命令参数,表示运行项目
      "--project",          //  指定要运行的项目文件
      "/path/to/mobile-dev-mcp-server/src/MobileDevMcpServer.csproj" //  指向 MobileDevMcpServer.csproj 项目文件的路径,需要替换为实际路径
    ]
  }
}

注意: 请将上述配置中的 '/path/to/mobile-dev-mcp-server/src/MobileDevMcpServer.csproj' 替换为您实际的项目文件路径。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,导航到项目根目录,并运行配置中指定的 'dotnet run' 命令启动服务器。
  2. 使用 MCP 客户端连接服务器: 配置 MCP 客户端(例如 MCP Inspector)连接到 'stdio' 类型的服务器,并使用上述提供的配置信息。
  3. 通过 MCP 客户端调用工具和 Prompt: 连接成功后,您可以使用 MCP 客户端列出和调用服务器提供的工具 (Tools) 和 Prompt 模板 (Prompts),例如:
    • 使用 'android_list_devices' 工具列出 Android 设备。
    • 使用 'ios_screenshot' 工具截取 iOS 设备屏幕截图。
    • 使用 'DebugAppLogs' Prompt 模板生成 Android 应用日志调试的 Prompt。
    • ...更多工具和 Prompt 请参考仓库 README.md 文档。

示例 AI 助手查询 (可以直接在 MCP Inspector 或集成了 MCP 客户端的 AI 助手中使用)

  • "显示所有已连接的 Android 设备并提供详细信息。" (对应 'android_list_devices' 工具)
  • "展示所有已连接的 iOS 设备及其规格。" (对应 'ios_list_devices' 工具)
  • "分析最近的日志,并识别是否有任何错误消息。" (可以结合 'android_logs_logcat' 工具获取日志,然后让 LLM 分析)
  • "在这个设备上安装这个 APK,并确认是否安装正确。" (对应 'android_install_app' 工具)
  • "提供我手机上安装的所有应用程序的列表。" (对应 'android_list_packages' 工具)
  • "按下坐标 (100, 1000) 的 Home 键。" (对应 'android_ui_tap' 工具,但需要结合坐标转换逻辑,示例查询可能不直接对应工具)

信息

分类

桌面与硬件