LABSCO SUMMARY
Simulators only — and the coordinate scaling that makes taps actually land.
Real iPhones are out of scope: iOS security constraints stop idb from driving the UI on physical devices, so this is a simulator tool. What it adds over raw idb is --target-screen-size, which downscales screenshots and coordinates together; AskUI recommends 1280 800 for Claude models, because full-resolution simulator screenshots lead to missed taps.
What it is
An MCP server and Python library from AskUI that wraps Facebook's IDB to control iOS simulators. It exposes the automation surface over stdio, HTTP or SSE using fastmcp.
What you get
- Device management: list devices, select by UDID or name, boot and shutdown, kill IDB
- Input control: tap, swipe, type text, tap keys, tap buttons
- Screen utilities: capture screenshots, query screen size, get a view description
- Optional scaling of screenshots and coordinates to a target viewport, via --target-screen-size
- The same controls as a Python module — IDBController and IOSDevice
- Your choice of stdio, HTTP or SSE transport, plus a --port option
Requirements
macOS only, Python 3.10 or newer, Xcode with iOS simulators installed, and the Facebook IDB companion via brew install idb-companion. Then pip install idb-mcp, or launch it with uvx idb-mcp@latest start stdio.
Setup effort
One command — pip install idb-mcp
USE CASES
Walking an app's UI from a conversation
Select a simulator, boot it, then tap and type your way through the screens.
Getting taps to land on a high-resolution simulator
Start the server with --target-screen-size 1280 800 so screenshots and coordinates scale together.
Reading what is actually on screen
Take a screenshot or ask for the view description instead of guessing at layout.
Scripting simulator setup in Python
Import IDBController, select the device by name and boot it before your tests run.
BEFORE YOU INSTALL
What to know first
Requires
- uvx on PATH
- Python >= 3.10
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install idb-mcpMCP Clients
Cursor, Claude Desktop
{
"mcpServers": {
"askui-idb-mcp": {
"command": "uvx",
"args": [
"idb-mcp@latest",
"start",
"stdio",
"--target-screen-size",
"1280",
"800"
]
}
}
}