项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当大型语言模型 (LLM) 和 iOS 模拟器之间的桥梁。通过此服务器,你可以使用自然语言命令来控制 iOS 模拟器,执行各种操作,例如应用安装、UI 交互、屏幕截图、日志获取等,从而实现 iOS 应用的自动化测试和开发流程。
主要功能点
- 模拟器控制:创建和管理模拟器会话,启动、关闭、列出和聚焦模拟器。
- 应用管理:安装、启动、终止和卸载 iOS 应用程序,检查应用安装状态。
- UI 交互:执行 Tap、Swipe、按钮按压和文本输入等 UI 交互操作。
- 辅助功能:访问和描述模拟器 UI 中的辅助功能元素,用于 UI 测试。
- 捕获与日志:截取屏幕截图、录制屏幕视频、获取系统和应用日志。
- 调试:启动和停止应用调试会话,获取调试状态。
- 崩溃日志:列出、查看和删除崩溃日志。
- 高级功能:模拟位置、注入媒体、处理 URL Scheme、管理联系人数据库和 Keychain 等。
安装步骤
-
克隆仓库
git clone https://github.com/arturonaredo/mcp-server-simulator-ios-idb.git cd mcp-server-simulator-ios-idb -
创建并激活 Python 虚拟环境
python3 -m venv venv source venv/bin/activate # 在 Unix/macOS 系统中 -
安装依赖
npm install -
构建项目
npm run build -
启动服务器
npm start启动命令会自动检查 macOS 环境,并通过 Homebrew 安装 'idb-companion',通过 pip 在虚拟环境中安装 'fb-idb'。
注意:请确保在使用服务器时虚拟环境处于激活状态。如果关闭终端后重新打开,需要重新激活虚拟环境:'source venv/bin/activate',然后再运行 'npm start'。
服务器配置
要将此 MCP 服务器与 MCP 客户端(如 Claude)集成,您需要在客户端的 MCP 设置中添加服务器配置。以下是一个示例配置,您需要根据实际的项目路径进行调整:
{ "mcpServers": { "ios-simulator": { "command": "node", "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"] } } }
配置参数说明:
- 'server name': 'ios-simulator' (服务器名称,客户端用此名称来引用服务器)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js)
- 'args': '["/path/to/mcp-server-simulator-ios-idb/dist/index.js"]' (启动命令的参数,指向服务器入口文件 'index.js' 的编译后路径。请将 '/path/to/mcp-server-simulator-ios-idb' 替换为您的仓库实际路径)
基本使用方法
配置完成后,LLM 客户端可以通过发送 JSON-RPC 请求与 MCP 服务器通信,并使用自然语言指令来控制 iOS 模拟器。例如,您可以发送以下指令:
- 'create a simulator session with iPhone 14' (创建一个 iPhone 14 的模拟器会话)
- 'install app /path/to/my-app.ipa' (安装应用)
- 'launch app com.example.myapp' (启动应用)
- 'tap at 100, 200' (点击坐标 (100, 200))
- 'take a screenshot' (截取屏幕截图)
更多支持的命令,请参考仓库 README.md 文档中的 "Supported Commands" 章节。
信息
分类
开发者工具