iOS 模拟器 MCP 服务器
本项目是一个实现了 Model Context Protocol (MCP) 的服务器,它允许你通过 MCP 协议控制 iOS 模拟器。通过此服务器,LLM 应用可以自动化地管理 iOS 模拟器,例如启动模拟器进行应用测试。
主要功能点
- 列出模拟器: 获取当前电脑上所有可用的 iOS 模拟器列表,包括设备名称、UDID、运行状态和运行时环境。
- 启动模拟器: 根据指定的 UDID 启动 iOS 模拟器。
- 关闭模拟器: 根据指定的 UDID 关闭正在运行的 iOS 模拟器。
- 安装应用: 将指定的 .app 应用程序包安装到指定的 iOS 模拟器上。
- 启动应用: 根据 Bundle ID 启动已安装在指定 iOS 模拟器上的应用程序。
安装步骤
- 环境准备: 确保你的开发环境已安装 Node.js 和 npm (或 yarn)。
- 添加到 Claude 配置文件: 如果你计划将此 MCP 服务器与 Claude 等 MCP 客户端一起使用,你需要将以下配置添加到 Claude 的 JSON 配置文件中。
服务器配置
对于 MCP 客户端 (如 Claude),你需要在其配置文件中添加以下服务器配置信息,以便客户端能够连接和使用此 iOS 模拟器 MCP 服务器:
{ "mcpServers": { "simulator": { "command": "npx", "args": [ "y", "@joshuarileydev/simulator-mcp-server" ] } } }
配置参数说明:
- 'server name': 'simulator' (服务器名称,在客户端配置中用于标识此服务器,可以自定义)
- 'command': 'npx' (启动命令,用于执行 npm 包)
- 'args': '["y", "@joshuarileydev/simulator-mcp-server"]' (命令参数,'y' 参数可能用于确认执行,'@joshuarileydev/simulator-mcp-server' 是要执行的 npm 包名,指向此 MCP 服务器的 npm 包)
注意: 上述配置假设你已经全局安装或可以通过 'npx' 访问 '@joshuarileydev/simulator-mcp-server' 包。 实际使用中,可能需要根据你的包管理方式和安装位置调整 'command' 和 'args'。 通常情况下,Claude 等 MCP 客户端会自动处理 'npx' 和 npm 包的执行。
基本使用方法
- 启动 MCP 服务器: 当 MCP 客户端 (如 Claude) 启动并加载上述配置后,客户端会自动尝试启动 iOS 模拟器 MCP 服务器。服务器将在后台运行,并通过 Stdio 与客户端通信。
- 客户端调用工具: 在 MCP 客户端中,你可以通过自然语言指令或图形界面调用服务器提供的工具。 例如,你可以指示 Claude "列出所有 iOS 模拟器" 或 "启动 UDID 为 xxx 的模拟器"。 客户端会将这些指令转换为 MCP 协议的 'CallToolRequest' 发送给服务器。
- 服务器执行操作: iOS 模拟器 MCP 服务器接收到请求后,会调用 'xcrun simctl' 命令来执行相应的模拟器操作,并将结果以 MCP 协议的 'ToolResultResponse' 返回给客户端。
通过这种方式,LLM 应用可以利用此 MCP 服务器提供的工具,自动化地控制 iOS 模拟器,实现更复杂和智能化的功能,例如自动化测试、应用演示等。
信息
分类
开发者工具