article
README
🚀 iOS 模拟器 MCP 服务器
本项目搭建了一个 MCP(模型上下文协议)服务器,专门用于控制和管理 iOS 模拟器。借助此服务器,能够轻松实现模拟器的启动、关闭,应用程序的安装与启动,还能进行截图以及坐标点击等操作。
🚀 快速开始
先决条件
- Node.js(版本要求:v14.17.0 或更高)
- npm(版本要求:6.14.0 或更高)
安装步骤
# 安装项目依赖
npm install
# 编译 TypeScript 代码
npm run build
# 启动开发服务器
npm start
✨ 主要特性
模拟器管理
- 启动和关闭 iOS 模拟器。
- 支持通过 UDID 或自定义会话 ID 管理多个模拟器。
应用程序管理
- 安装应用程序到模拟器。
- 启动和终止指定应用程序。
用户交互
- 截取模拟器屏幕并保存为图片。
- 模拟在指定坐标位置的点击操作。
📦 安装指南
环境变量配置
通过以下环境变量自定义服务器行为:
PORT:设置服务器监听端口,默认值为3000。DEBUG:启用调试模式,可选值为true或false,默认值为false。
日志管理
支持通过配置文件或环境变量调整日志输出级别和格式。详细配置请参考 config/logger.ts 文件。
💻 使用示例
直接使用 CLI 工具
列出所有可用的 iOS 模拟器
npm run list-simulators
启动指定 UDID 的模拟器
npm run start-simulator -- --udid "5272EA61-5796-4372-86FE-3B33831D5CC1"
关闭指定 UDID 的模拟器
npm run stop-simulator -- --udid "5272EA61-5796-4372-86FE-3B33831D5CC1"
通过 MCP 协议集成
将本服务器作为 MCP 工具集成到 Claude Desktop 中:
配置 Claude Desktop
- 打开设置 > 高级
- 在 "MCP 服务" 中添加如下配置:
{
"mcpServers": {
"simulator": {
"command": "node",
"args": [
"/path/to/your/mcp-server-ios-simulator/dist/index.js"
]
}
}
}
使用 MCP 命令控制模拟器
- 列出所有可用的 iOS 模拟器
- 启动指定 UDID 的模拟器
- 截取模拟器屏幕
- 关闭指定 UDID 的模拟器
📚 详细文档
项目架构
+-------------------+ +-------------------+
| 用户 | | 管理员 |
+-------------------+ +-------------------+
↑ ↓
+-------------------+ +-------------------+
| CLI 工具 |<----->| MCP 服务器 |
+-------------------+ +-------------------+
↓ ↑
+-------------------+ +-------------------+
| iOS 模拟器 | | 模拟器管理库 |
+-------------------+ +-------------------+
项目结构
src/
├── simulator/ # 模拟器管理模块
├── app/ # 应用程序管理模块
├── logger/ # 日志管理模块
└── server/ # HTTP 服务器模块
🔧 技术细节
贡献代码
- 提交代码前,请确保通过
npm test进行单元测试。 - 为新功能或修复提交相应的文档和测试用例。
问题反馈
遇到任何问题或有改进建议,请在 GitHub 仓库中提 ISSUE。
📄 许可证
本项目遵循 MIT 协议,详细内容请查看 LICENSE 文件。
微信扫一扫