A Model Context Protocol server for iOS simulator automation via Facebook's IDB tool, enabling AI assistants to control iOS simulators using natural language commands. Developed by Inditex Tech, this TypeScript implementation provides a comprehensive command system for managing simulator sessions, launching apps, capturing screenshots, and performing UI interactions. The architecture includes a natural language parser that converts instructions into structured commands, an orchestrator that manages command execution, and an IDB manager that interfaces with the iOS simulator. This server is particularly useful for automated testing of iOS applications, UI validation, and creating interactive demos without requiring direct access to physical devices.
No reviews yet. Be the first to review!
Sign in to join the conversation
Creates a new simulator session. Example: 'create session', 'create simulator iPhone 12'
Terminates the current session. Example: 'terminate session', 'close simulator'
Lists available simulators. Example: 'list simulators', 'show simulators'
Lists running simulators. Example: 'list booted simulators', 'show running simulators'
Boots a simulator by UDID. Example: 'boot simulator 5A321B8F-4D85-4267-9F79-2F5C91D142C2'
Shuts down a simulator. Example: 'shutdown simulator 5A321B8F-4D85-4267-9F79-2F5C91D142C2'
Brings simulator window to front. Example: 'focus simulator', 'bring simulator to front'
Lists active simulator sessions. Example: 'list simulator sessions', 'show active sessions'
Installs an app on the simulator. Example: 'install app /path/to/app.ipa'
Launches an app on the simulator. Example: 'launch app com.example.app'
Terminates a running app. Example: 'terminate app com.example.app'
Uninstalls an app. Example: 'uninstall app com.example.app'
Lists installed applications. Example: 'list apps', 'show installed apps'
Checks if an app is installed. Example: 'is app com.example.app installed'
Taps at specific coordinates. Example: 'tap at 100, 200'
Performs a swipe gesture. Example: 'swipe from 100, 200 to 300, 400'
Presses a device button. Example: 'press button HOME', 'press button SIRI'
Types text. Example: 'input text Hello World'
Presses a key by code. Example: 'press key 4'
Presses a sequence of keys. Example: 'press key sequence 4 5 6'
Lists all accessibility elements. Example: 'describe all elements', 'show accessibility elements'
Describes element at coordinates. Example: 'describe point 100, 200', 'what's at 150, 300'
Captures a screenshot. Example: 'take screenshot', 'capture screen'
Records screen activity. Example: 'record video /path/output.mp4'
Stops video recording. Example: 'stop recording', 'stop video recording'
Retrieves system or app logs. Example: 'get logs', 'get logs for com.example.app'
Starts a debug session. Example: 'debug app com.example.app', 'start debug com.example.app'
Stops a debug session. Example: 'stop debug', 'terminate debug session'
Gets debug session status. Example: 'debug status', 'show debug info'
Lists available crash logs. Example: 'list crash logs', 'show crash logs'
Shows content of a crash log. Example: 'show crash log crash_2023-01-01'
Deletes crash logs. Example: 'delete crash logs', 'clear crash logs'
Installs a dynamic library. Example: 'install dylib /path/to/library.dylib'
Opens a URL in the simulator. Example: 'open url https://example.com'
Clears the simulator's keychain. Example: 'clear keychain'
Sets the simulator's location. Example: 'set location 37.7749, -122.4194'
Adds media to the camera roll. Example: 'add media /path/to/image.jpg'
Approves app permissions. Example: 'approve permissions com.example.app photos camera'
Updates contacts database. Example: 'update contacts /path/to/contacts.sqlite'