MCP Server for iOS Simulator
📱 MCP-сервер для симулятора iOS
Сервер, реализующий протокол Model Context Protocol (MCP) для симуляторов iOS, построенный на базе appium-ios-simulator с использованием MCP TypeScript SDK.
📋 Обзор
Этот проект предоставляет мост между симуляторами iOS и протоколом Model Context Protocol, позволяя осуществлять стандартизированное взаимодействие с экземплярами симуляторов iOS. Он обеспечивает программное управление симуляторами iOS, используя протокол MCP для создания согласованных интерфейсов в различных средах. Сервер использует stdio в качестве механизма передачи данных, что делает его идеальным для интеграции с Claude Desktop и другими MCP-совместимыми клиентами.
Related MCP server: Simulator MCP
🎬 Демонстрация

Демонстрация того, как запустить симулятор iOS с помощью Claude AI Desktop
🏗️ Архитектура
Сервер состоит из трех основных компонентов:
🔄 Уровень управления симулятором — обрабатывает жизненный цикл и взаимодействие с симулятором iOS
🔌 Реализация протокола MCP — реализует протокол Model Context Protocol с использованием TypeScript SDK и транспорта stdio
📊 Компонент логирования — обеспечивает ведение логов в файле, не мешая транспорту stdio
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Protocol │ │ Stdio │ │ Simulator │
│ Implementation │◄────┤ Transport │◄────┤ Management │
│ │ │ │ │ Layer │
└─────────────────┘ └─────────────────┘ └─────────────────┘
▲ ▲
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ iOS Simulator │
│ (e.g. Claude) │ │ │
└─────────────────┘ └─────────────────┘✨ Функции
🚀 Запуск, остановка и управление экземплярами симуляторов iOS
🔌 Загрузка и выключение симуляторов
📲 Установка и запуск приложений на симуляторах
📸 Создание снимков экрана симулятора
👆 Выполнение нажатий по координатам
🔄 Поддержка нескольких одновременных сессий симулятора
📝 Комплексное ведение логов в файле без вывода в консоль
🛡️ Устойчивость к ошибкам
📋 Предварительные требования
🟢 Node.js (v16 или новее)
🍎 macOS (требуется для симуляторов iOS)
🛠️ Xcode с установленными симуляторами iOS
📜 TypeScript 4.5+
🔧 Установка
Установка через Smithery
Чтобы автоматически установить сервер управления симулятором iOS для Claude Desktop через Smithery:
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🐳 Docker
Предоставлен Dockerfile, чтобы сервер можно было упаковать для каталога Glama MCP и других контейнерных хостов.
docker build -t mcp-server-ios-simulator .
docker run --rm -i mcp-server-ios-simulatorПримечание: Симуляторы iOS работают только на macOS, поэтому Linux-контейнер может разместить процесс MCP и отвечать через stdio, но не может управлять реальным симулятором. Контейнер предназначен для проверки переносимости и удаленных сред MCP, которые подключаются к хосту macOS.
⚙️ Конфигурация
Конфигурация осуществляется через файл 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— список всех запущенных в данный момент симуляторов
Используйте этот подход, если: Вам нужно просто запустить, использовать и выключить симуляторы напрямую.
📱 Управление на основе сессий (расширенное)
Эти инструменты используют уровень сессий, который отслеживает симуляторы с помощью пользовательских идентификаторов сессий:
📋
list-simulator-sessions— список всех активных сессий симуляторов➕
create-simulator-session— создание новой сессии симулятора❌
terminate-simulator-session— завершение сессии (выключает симулятор и выполняет очистку)🔄
create-and-boot-simulator— создание новой сессии симулятора и его запуск▶️
boot-simulator— запуск симулятора для существующей сессии⏹️
shutdown-simulator— выключение симулятора для существующей сессии
Используйте этот подход, если: Вам нужно отслеживать метаданные симулятора, ссылаться на симуляторы по пользовательским идентификаторам или использовать более продвинутые функции управления.
📲 Управление приложениями
📥
install-app— установка приложения на симулятор🚀
launch-app— запуск приложения на симуляторе🛑
terminate-app— завершение работы приложения на симуляторе
🖱️ Инструменты взаимодействия
📷
take-screenshot— создание снимка экрана симулятора👆
tap-coordinate— выполнение нажатия по указанным координатам
🤖 Пример использования с Claude Desktop
Настройте Claude Desktop для использования этого сервера в качестве инструмента MCP:
Откройте Claude Desktop
Перейдите в Settings > Advanced
Добавьте следующую конфигурацию в раздел "MCP Servers":
{ "mcpServers": { "simulator": { "command": "node", "args": [ "/path/to/your/mcp-server-ios-simulator/dist/index.js" ] } } }Замените
/path/to/yourна фактический путь, по которому вы установили этот репозиторийСохраните настройки и перезапустите Claude Desktop
Используйте предоставленные инструменты для управления симуляторами iOS прямо из Claude Desktop:
Подход с прямым UDID (рекомендуется):
Сначала попросите Claude вывести список доступных симуляторов:
"Show me all available iOS simulators"Затем используйте UDID для запуска конкретного симулятора:
"Boot the iOS simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"Когда закончите, выключите его, используя тот же 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 — подробности см. в файле LICENSE.
🙏 Благодарности
📱 appium-ios-simulator за предоставление возможностей взаимодействия с симулятором iOS
🔌 Model Context Protocol за спецификацию протокола и TypeScript SDK
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with iOS simulators, perform accessibility testing, manage apps, and automate complex iOS workflows.32Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI to control iOS simulators through the MCP protocol. Supports device management, UI automation, and network interception including screenshot capture, text input, and HTTP request mocking.
- AlicenseBqualityCmaintenanceA Model Context Protocol server implementation for iOS Simulator control, providing tools for device management, app operations, permissions, system features, and certificate handling.292020MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for iOS Simulator automation. Enables AI assistants to visually interact with iOS apps running in the simulator.371MIT
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/atom2ueki/mcp-server-ios-simulator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server