返回市场
移动开发MCP服务器

移动开发MCP服务器

作者:jsuarezruiz40 星标更新:2025-04-10

项目介绍

移动开发 MCP

通过模型上下文协议(Model Context Protocol)使用AI控制移动设备!

这是一个用于管理和与移动设备及模拟器交互的MCP。它提供了诸如应用安装、设备管理以及日志检索等任务的工具,适用于iOS和Android开发环境。

功能

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

预备条件

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

  • ADB(Android 调试桥)用于Android设备管理。
  • Xcode 命令行工具用于iOS模拟器管理(xcrun simctl)。
  • Facebook IDB 工具 (查看安装指南)(仅在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,并确认是否正确安装。”
  • “提供我手机上安装的所有应用程序列表。”
  • “按下位于坐标(100, 1000)的Home按钮。”

图库

<img src="https://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/tool-list-vscode.png" width="30%"></img> <img src="https://gips3.baidu.com/it/u=3877498302,1124144902&fm=3081&app=3081&f=PNG?w=960&h=974" width="30%"></img> <img src="https://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/list-android-apps.png" width="30%"></img> <img src="https://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/diagnostics-android.png" width="30%"></img> <img src="https://gips1.baidu.com/it/u=4195613640,2073908954&fm=3081&app=3081&f=PNG?w=992&h=434" width="30%"></img> <img src="https://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/logs-android.png" width="30%"></img>

贡献

我非常欢迎贡献以帮助改进此项目!无论是修复bug、添加新功能还是增强文档,您的支持都非常宝贵。

  1. 分叉仓库
  2. 创建您的功能分支(git checkout -b feature/my-feature)
  3. 进行更改
  4. 提交更改(git commit -m '添加新功能')
  5. 推送到分支(git push origin feature/my-feature)
  6. 打开Pull Request

许可证

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