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

iOS simulators MCP

MCP Server

A Model Context Protocol (MCP) server that enables LLMs to interact with iOS simulators through natural language commands.

工具数

0

提示词数

0

GitHub Stars

303

资源数

0
TypeScriptClaude自动化测试ClaudeClineClaude Desktop

安装说明

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

作者 / 组织

InditexTech

提供方

InditexTech

最后核验

2026/5/18 04:05

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

📱 iOS模拟器的MCP服务器

![MCP Server](https://glama.ai/mcp/servers/@InditexTech/mcp-server-simulator-ios-idb)

一种模型上下文协议(MCP)服务器,使LLM能够通过自然语言命令与iOS模拟器进行交互。

ℹ️ 概述

此MCP服务器在大型语言模型(LLM)和iOS模拟器之间提供了一座桥梁,通过自然语言命令提供全面的控制。以下是它可以做的事情:

有关详细用法,请参阅安装指南和支持的命令部分。您可以通过直接MCP集成或作为独立库使用此服务器。

查看架构部分,了解组件如何协同工作,以实现iOS模拟器的自然语言控制。

demo

🎮 模拟器控制

  • 创建和管理模拟器会话
  • 启动、关闭和监控模拟器状态
  • 列出可用和正在运行的模拟器
  • 聚焦模拟器窗口

📱 应用程序管理

  • 安装和管理iOS应用程序
  • 启动、终止和卸载应用程序
  • 监控应用程序状态并验证安装
  • 处理应用程序权限和配置

🖱️ UI交互和测试

  • 与模拟器UI交互
  • 执行点击、滑动和按钮按压操作
  • 输入文本和按键序列
  • 访问UI测试的可访问性元素
  • 录制用户界面交互视频

🛠️ 开发与调试

  • 捕获屏幕截图和系统日志
  • 实时调试应用程序
  • 监控和分析碰撞日志
  • 安装动态库并管理应用程序数据

⚡ 高级功能

  • 其他功能包括:

- 位置模拟 - 介质注入 - URL方案处理 - 联系人数据库管理 - 钥匙扣操作

有关详细用法,请参阅安装指南和支持的命令部分。您可以通过直接MCP集成或作为独立库使用此服务器。

查看架构部分,了解组件如何协同工作,以实现iOS模拟器的自然语言控制。

📋 需求

  • macOS:需要iOS模拟器支持
  • Node.js:v14.0.0或更高版本
  • 家酿:安装依赖项时需要
  • 介绍:安装了iOS模拟器

🚀 安装

安装此服务器的最简单方法是通过Cline:

  1. 只需询问Cline:
Add this mcp to cline https://github.com/InditexTech/mcp-server-simulator-ios-idb
  1. Cline将自动处理安装过程,包括依赖关系管理和配置。

或者,您可以手动安装它:

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

# Create and activate Python virtual environment
python3 -m venv venv
source venv/bin/activate  # On Unix/macOS

# Install dependencies
npm install

# Build the project
npm run build

# Start the project
npm start

# Run tests
npm test

安装过程将自动执行以下操作:

  1. 检查您是否运行macOS
  2. 通过Homebrew安装idb伴侣
  3. 在虚拟环境中通过pip安装fb-idb

注意:使用服务器时,请确保虚拟环境保持激活状态。如果您关闭终端并稍后返回,则需要使用重新激活虚拟环境 source venv/bin/activate 运行前的命令 npm start.

🔌 MCP集成

要将此服务器与Claude或其他LLM助手一起使用:

  1. 将服务器添加到Claude Desktop中的MCP设置中:
{
  "mcpServers": {
    "ios-simulator": {
      "command": "node",
      "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"],
      "env": {}
    }
  }
}
  1. LLM现在可以使用自然语言命令来控制iOS模拟器:
create a simulator session with iPhone 14
install app /path/to/my-app.ipa
launch app com.example.myapp
tap at 100, 200
take a screenshot

📚 作为图书馆使用

您还可以在自己的项目中将此包用作库:

🔰 基本用法

import { createMCPServer } from 'mcp-server-simulator-ios-idb';

async function main() {
  // Create an instance of the MCP server
  const { orchestrator } = createMCPServer();
  
  // Process natural language commands
  
  // Create a simulator session
  const sessionResult = await orchestrator.processInstruction('create session');
  console.log(`Session created: ${sessionResult.data}`);
  
  // Interact with the simulator
  await orchestrator.processInstruction('tap at 100, 200');
  
  // Capture a screenshot
  const screenshotResult = await orchestrator.processInstruction('take screenshot');
  console.log(`Screenshot saved at: ${screenshotResult.data}`);
}

main().catch(console.error);

🚀 高级用法

您还可以直接使用各个组件:

import { 
  IDBManager, 
  NLParser, 
  MCPOrchestrator,
  ParserToOrchestrator,
  OrchestratorToIDB
} from 'mcp-server-simulator-ios-idb';

// Create instances
const idbManager = new IDBManager();
const parser = new NLParser();
const orchestrator = new MCPOrchestrator(parser, idbManager);

// Use the components directly
const sessionId = await idbManager.createSimulatorSession({
  deviceName: 'iPhone 12',
  platformVersion: '15.0'
});

await idbManager.tap(sessionId, 100, 200);

🏗️ 项目结构

mcp-server-simulator-ios-idb/
├── src/                      # Source code
│   ├── adapters/             # Adapter components
│   ├── idb/                  # IDB manager implementation
│   ├── mcp/                  # MCP server implementation
│   ├── orchestrator/         # Command orchestrator
│   ├── parser/              # Natural language parser
│   └── index.ts             # Main entry point
├── types/                   # TypeScript type definitions
├── scripts/                 # Installation scripts
├── package.json            # Project configuration
└── tsconfig.json          # TypeScript configuration

🎯 支持的命令

NLParser支持以下自然语言命令:

🎮 模拟器管理

命令描述示例
创建会话创建新的模拟器会话“创建会话”,“创建模拟器iPhone 12”
终止会话终止当前会话“终止会话”,“关闭模拟器”
列出模拟器列出可用模拟器“列出模拟器”,“显示模拟器”
列出已启动模拟器列出正在运行的模拟器“列出已启动的模拟器”,“显示正在运行的模拟程序”
引导模拟器通过UDID引导模拟器“引导模拟器5A321B8F-4D85-4267-9F79-2F5C91D142C2”
关机模拟器关闭模拟器“关机模拟器5A321B8F-4D85-4267-9F79-2F5C91D142C2”
聚焦模拟器将模拟器窗口带到前面“聚焦模拟器”,“将模拟器带到前面”
列出模拟器会话列出活动模拟器会话“列出模拟器会话”,“显示活动会话”

📱 应用程序管理

命令描述示例
安装应用在模拟器上安装应用“安装app/path/to/app.ipa”
启动应用在模拟器上启动应用“启动app com.example.app”
终止应用程序终止正在运行的应用程序“终止应用程序com.example.app”
卸载应用卸载应用“卸载应用com.example.app”
列出应用程序列出已安装的应用程序“列出应用程序”,“显示已安装应用程序”
检查是否安装了应用程序检查是否安装应用程序“是否安装了app com.example.app”

🖱️ UI交互

命令描述示例
点击点击特定坐标“点击100、200”
滑动执行滑动手势“从100、200滑动到300、400”
按下按钮按下设备按钮“按下HOME按钮”、“按下SIRI按钮”
输入文本键入文本“输入文本Hello World”
按键按代码按键“按4键”
按键顺序按一系列按键“按键顺序4 5 6”

♿ 无障碍

命令描述示例
描述元素列出所有辅助功能元素“描述所有元素”,“显示辅助功能元素”
描述点描述坐标处的元素“描述点100、200”,“150、300处是什么”

📸 捕获和日志

命令描述示例
截图截图“截图”,“截图”
录制视频录制屏幕活动“录制视频/路径/输出.mp4”
停止录制停止视频录制“停止录制”,“停止视频录制”
获取日志检索系统或应用程序日志“获取日志”,“获取com.example.app的日志”

🐛 调试

命令描述示例
启动调试启动调试会话“debug app.example.app”,“启动debug com.example.app”
停止调试停止调试会话“停止调试”、“终止调试会话”
调试状态获取调试会话状态“调试状态”,“显示调试信息”

💥 崩溃日志

命令描述示例
列出崩溃日志列出可用的崩溃日志“列出崩溃日志”,“显示崩溃日志”
显示崩溃日志显示崩溃日志的内容“显示崩溃日志crash_2023-01-01”
删除崩溃日志删除崩溃日志'删除崩溃日志','清除崩溃日志'

🔧 附加命令

命令描述示例
安装dylib安装动态库“安装dylib/path/to/library.dylib”
打开URL在模拟器中打开URL“打开URLhttps://example.com"
清除钥匙扣清除模拟器的钥匙扣“清除钥匙扣”
设置位置设置模拟器的位置“设置位置37.7749,-122.4194”
添加媒体将媒体添加到相机胶卷“添加媒体/path/to/image.jpg”
批准权限批准应用程序权限“批准权限com.example.app照片相机”
更新联系人更新联系人数据库“更新联系人/path/to/contacts.sqlite”

该界面支持idb CLI工具中可用的所有命令,为iOS模拟器自动化提供了一套全面的操作。

🔍 建筑

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

  1. IDB经理:通过idb直接与iOS模拟器交互的低级组件。
  2. NLParser:解释自然语言指令并将其转换为结构化命令的组件。
  3. MCP编排器:协调解析器和IDBManager之间交互的中心组件。

这些组件通过适配器连接:

  • ParserToCorchestrator:将解析器结果转换为编排器命令。
  • 编排器ToIDB:将编排器命令转换为IDBManager调用。

🔌 MCP集成

要将此服务器与模型上下文协议一起使用,请执行以下操作:

  1. 将服务器添加到MCP设置中:
{
  "mcpServers": {
    "ios-simulator": {
      "command": "node",
      "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"],
      "env": {}
    }
  }
}
  1. 连接到LLM应用程序中的服务器:
const result = await useMcpTool({
  serverName: "ios-simulator",
  toolName: "process-instruction",
  arguments: {
    instruction: "create simulator session"
  }
});

🙏 致谢

如果没有,这个项目是不可能的 脸书/idb,它提供了底层iOS模拟器控制功能。我们衷心感谢Facebook/Meta团队和idb项目的所有贡献者创建和维护了这样一个强大而可靠的工具。

📄 许可证

根据Apache-2.0的条款,此工具可作为开源工具使用。

目录标签

目录标签

TypeScriptClaude自动化测试developer-toolsmacosiosmcpclineiOS模拟器控制本地部署自然语言交互应用调试UI自动化

支持客户端

ClaudeClineClaude Desktop

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

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

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononelocal-only

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

安装前确认

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

来源信息

继续浏览同类 MCP