Mobile Development MCP

Mobile Development MCP

这是一个用于管理和交互移动设备和模拟器的 MCP (移动控制平台)。 (Alternatively, if you want to emphasize the purpose of the MCP:) 这是一个 MCP (移动控制平台),旨在管理和交互移动设备和模拟器。

jsuarezruiz

开发者工具
访问服务器

README

Mobile Development MCP

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

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

功能

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

前提条件

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

  • 用于 Android 设备管理的 ADB (Android Debug Bridge)。
  • 用于 iOS 模拟器管理的 Xcode 命令行工具 (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 从我们的应用程序文件夹启动 inspector,命令如下:

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://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/list-ios-simulators.png" 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://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/launch-android-app.png" width="30%"></img> <img src="https://raw.githubusercontent.com/jsuarezruiz/mobile-dev-mcp-server/refs/heads/main/images/logs-android.png" width="30%"></img>

贡献

我非常欢迎贡献,以帮助改进这个项目! 无论是修复错误、添加新功能还是增强文档,您的支持都将不胜感激。

  1. Fork 存储库
  2. 创建您的功能分支 (git checkout -b feature/my-feature)
  3. 进行更改
  4. 提交您的更改 (git commit -m 'Add a new feature')
  5. 推送到分支 (git push origin feature/my-feature)
  6. 打开 Pull Request

许可证

本项目根据 MIT 许可证提供。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript