Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-ios-simulator

一个基于MCP协议的iOS模拟器控制服务器,提供标准化的模拟器管理接口

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:启用调试模式,可选值为 truefalse,默认值为 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 服务器模块

🔧 技术细节

贡献代码

  1. 提交代码前,请确保通过 npm test 进行单元测试。
  2. 为新功能或修复提交相应的文档和测试用例。

问题反馈

遇到任何问题或有改进建议,请在 GitHub 仓库中提 ISSUE。

📄 许可证

本项目遵循 MIT 协议,详细内容请查看 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client