Token导航 LogoToken导航TokenDH.com
Ios Simulator logo
开发工具stdio官方级别未说明来源级核验

Ios Simulator

MCP Server

@smithery/cli

Model Context Protocol (MCP) implementation for iOS simulators

工具数

0

提示词数

0

GitHub Stars

41

资源数

0
开发工具TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

atom2ueki

提供方

atom2ueki

最后核验

2026/5/18 02:16

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @atom2ueki/mcp-server-ios-simulator --client claude

详细介绍

📱 iOS模拟器的MCP服务器

](https://smithery.ai/server/@atom2ueki/mcp-server-ios-simulator)

📋 概述

该项目在iOS模拟器和模型上下文协议之间提供了一座桥梁,允许与iOS模拟器实例进行标准化通信。它支持对iOS模拟器进行编程控制,同时利用MCP协议在不同环境中实现一致的接口。该服务器利用stdio作为其传输机制,使其非常适合与Claude Desktop和其他MCP兼容客户端集成。

🎬 演示

iOS Simulator Demo

*演示如何使用Claude AI Desktop启动iOS模拟器*

🏗️ 建筑

服务器由三个主要组件组成:

  1. 🔄 模拟器管理层 -处理iOS模拟器生命周期和交互
  2. 🔌 MCP协议实现 -使用带有stdio传输的TypeScript SDK实现模型上下文协议
  3. 📊 记录器组件 -提供基于文件的日志记录,而不干扰stdio传输
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  MCP Protocol   │     │     Stdio       │     │    Simulator    │
│  Implementation │◄────┤    Transport    │◄────┤   Management    │
│                 │     │                 │     │      Layer      │
└─────────────────┘     └─────────────────┘     └─────────────────┘
        ▲                                                ▲
        │                                                │
        ▼                                                ▼
┌─────────────────┐                             ┌─────────────────┐
│   MCP Client    │                             │  iOS Simulator  │
│  (e.g. Claude)  │                             │                 │
└─────────────────┘                             └─────────────────┘

✨ 特性

  • 🚀 启动、停止和管理iOS模拟器实例
  • 🔌 启动和关闭模拟器
  • 📲 在模拟器上安装并启动应用程序
  • 📸 截取模拟器屏幕截图
  • 👆 在坐标上执行点击操作
  • 🔄 支持多个并发模拟器会话
  • 📝 全面的基于文件的日志记录,无需控制台输出
  • 🛡️ 容错操作

📋 先决条件

  • 🟢 Node.js(v16或更高版本)
  • 🍎 macOS(iOS模拟器所需)
  • 🛠️ 安装了iOS模拟器的Xcode
  • 📜 TypeScript 4.5+

🔧 安装

通过Smithery安装

通过以下方式自动安装Claude Desktop的iOS模拟器控制服务器 史密瑟里:

npx -y @smithery/cli install @atom2ueki/mcp-server-ios-simulator --client claude

手动安装

# Clone the repository
git clone https://github.com/atom2ueki/mcp-server-ios-simulator.git
cd mcp-server-ios-simulator

# Install dependencies
npm install

⚙️ 配置

配置是通过 src/config.ts 文件:

const config = {
  simulator: {
    defaultDevice: process.env.SIMULATOR_DEFAULT_DEVICE || 'iPhone 16',
    defaultOS: process.env.SIMULATOR_DEFAULT_OS || '18.2',
    timeout: parseInt(process.env.SIMULATOR_TIMEOUT || '30000', 10),
  }
};

您可以通过设置环境变量来自定义这些设置:

SIMULATOR_DEFAULT_DEVICE=iPhone 16
SIMULATOR_DEFAULT_OS=18.2
SIMULATOR_TIMEOUT=30000

🚀 用法

🔨 构建和启动服务器

# Build the project
npm run build

# Start the server
npm start

🧰 MCP工具

服务器提供了两种不同的方法来控制iOS模拟器:

📱 直接模拟器管理(推荐)

这些工具直接与模拟器UDID配合使用,不需要维护会话:

  • 📋 list-available-simulators -列出所有可用的模拟器及其UDID
  • ▶️ boot-simulator-by-udid -直接使用UDID启动模拟器
  • ⏹️ shutdown-simulator-by-udid -直接使用UDID关闭模拟器
  • 📊 list-booted-simulators -列出当前启动的所有模拟器

在以下情况下使用此方法: 您只想直接启动、使用和关闭模拟器。

📱 基于会话的管理(高级)

这些工具使用会话层来跟踪具有自定义会话ID的模拟器:

  • 📋 list-simulator-sessions -列出所有活动模拟器会话
  • create-simulator-session -创建新的模拟器会话
  • terminate-simulator-session -终止会话(关闭模拟器并清理)
  • 🔄 create-and-boot-simulator -创建一个新的模拟器会话并启动它
  • ▶️ boot-simulator -启动现有会话的模拟器
  • ⏹️ shutdown-simulator -关闭现有会话的模拟器

在以下情况下使用此方法: 您需要跟踪模拟器元数据,通过自定义ID引用模拟器,或使用更高级的管理功能。

📲 应用程序管理

  • 📥 install-app -在模拟器上安装应用程序
  • 🚀 launch-app -在模拟器上启动应用程序
  • 🛑 terminate-app -终止模拟器上正在运行的应用程序

🖱️ 交互工具

  • 📷 take-screenshot -截取模拟器屏幕的屏幕截图
  • 👆 tap-coordinate -在指定坐标处点击

🤖 Claude Desktop使用示例

  1. 配置Claude Desktop以将此服务器用作MCP工具:

- 打开克劳德桌面 - 前往“设置”>“高级” - 将以下配置添加到“MCP服务器”部分:

   {
     "mcpServers": {
       "simulator": {
         "command": "node",
         "args": [
           "/path/to/your/mcp-server-ios-simulator/dist/index.js"
         ]
       }
     }
   }

- 替换 /path/to/your 带有安装此存储库的实际路径 - 保存设置并重新启动Claude Desktop

  1. 使用提供的工具直接从Claude Desktop控制iOS模拟器:

直接UDID方法(推荐):

1. 首先,让克劳德列出可用的模拟器:

      "Show me all available iOS simulators"

1. 然后使用UDID启动特定的模拟器:

      "Boot the iOS simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"

1. 完成后,使用相同的UDID将其关闭:

      "Shut down the simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"

对于大多数用例,直接UDID方法更简单、更可靠。

基于会话的方法(高级): 仅当您需要会话跟踪的高级功能时才使用此方法:

   "Create a new simulator session for iPhone 16 Pro with iOS 18.2"
   "Boot the simulator for session abc-123"
   "Take a screenshot of the simulator for session abc-123"
   "Terminate the simulator session abc-123"

👨‍💻 发展

📁 项目结构

src/
├── simulator/       # Simulator management layer
├── mcp/             # MCP protocol implementation
├── bridge/          # Bridge component
├── utils/           # Utility functions including logger
├── config.ts        # Configuration handling
└── index.ts         # Entry point

🔨 建设项目

# Install development dependencies
npm install

# Run TypeScript compiler
npm run build

📜 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

目录标签

目录标签

开发工具TypeScriptClaudedeveloper-toolsiOS模拟器控制本地部署MCP协议自动化测试移动开发

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP