The parser accepts the natural forms directly, which means the assistant does not have to learn a tool signature for every idb verb. Coverage follows idb's CLI, so the awkward long tail is there too: location simulation, media injection, permission approval and the contacts database. The virtual environment is the setup detail people trip over — reactivate it before starting the server.
A natural-language bridge to iOS simulators built on Facebook's idb. Instructions are parsed into idb commands and executed against the simulator.
- Simulator management — create and terminate sessions, list available and booted simulators, boot or shut one down by UDID, focus the window
- Applications — install from a path, launch, terminate, uninstall, list installed apps and check whether one is installed
- UI interaction — tap and swipe by coordinates, press device buttons such as HOME or SIRI, input text, press a key or a key sequence
- Accessibility — describe all elements on screen, or describe the element at a point
- Capture — screenshots, video recording to a path, and stopping the recording; system or per-app logs
- Debugging — start and stop a debug session, and read its status
- Crash logs — list, show one, delete them
- Extras — install a dylib, open a URL, clear the keychain, set the location, add media to the camera roll, approve app permissions, update the contacts database
- Usable as a library too, through createMCPServer and the IDBManager, NLParser and MCPOrchestrator components
macOS with Xcode and iOS simulators installed, Node.js v14.0.0 or higher, and Homebrew. Installation pulls idb-companion through Homebrew and fb-idb through pip into a Python virtual environment — keep that environment activated while the server runs. Point the client at dist/index.js.
