Labsco
MCP SERVER

Idb MCP

by askui

Drive an iOS simulator — tap, swipe, type, screenshot — from an MCP client on macOS.

Mobile & App Store Release
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