idb-mcp
About
An MCP server that uses Facebook IDB to automate iOS simulators, providing device control, input actions, and screenshots over HTTP, SSE, or stdio.
Details
- Author
- askui
- Categories
- Developer Tools, Other
Jump to
Setup
Install idb-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/askui/idb-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An open-source MCP server and Python library that wraps Facebook IDB to control iOS simulators for automation. Built byAskUI.
This project is based on the Facebook IDB CLI (fb-idb). See the GitHub repository (facebook/idb) and the Python package (fb-idbon PyPI).
- MCP server: Exposes a set of iOS automation tools (list/select device, screenshot, tap, swipe, type, etc.) over MCP transports (HTTP, SSE or stdio) usingfastmcp.
- Python module: Import to manage and control iOS simulators programmatically.
- IDB-MCP
- What it is
- Table of contents
- Key features
- Limitations
- Requirements
- Install
- Quick start (CLI)
- Device management🔧: list devices, select by UDID or name, boot/shutdown, kill IDB.
- Input control👆: tap, swipe, type text, tap keys, tap buttons.
- Screen utilities🖼️: capture screenshots, query screen size, get view description.
- Image/coord scaling📐: optional scaling to a target viewport for consistent coordinates.
⚠️ Only iOS simulators are supported for UI control. Due to iOS security constraints,idbcannot interact with or automate the UI on real, physical devices. AskUI offers a solution for real-device UI automation—contactsupport@askui.comfor more information.
Xcode with iOS Simulators installed and configured.
brew tap facebook/fb brew install idb-companion
Using MCP lets your favorite AI tools connect toidb-mcpseamlessly. The client handles launching and communicating with the server, so you can ask for screenshots, taps, swipes, and more—without leaving your workflow. ✨
The package installs anidb-mcpcommand.
# Start MCP server over HTTP (default host/port managed by fastmcp) idb-mcp start http
# Or start over stdio idb-mcp start stdio
# Optionally scale images/coordinates to a given target viewport (width height) idb-mcp start http --target-screen-size 1280 800
# Discover available options idb-mcp --help idb-mcp start --help
from idb_mcp import IDBController, IOSDevice # Initialize the IDB controller controller = IDBController() # Select the device by name selected_device: IOSDevice = controller.select_device_by_name("iPhone 17 Pro Max") # Boot the selected device selected_device.boot() # Get the current view description of the selected device current_view_description: str = selected_device.get_current_view_description() print(current_view_description) # Shutdown the selected device selected_device.shutdown()
You can useidb-mcpin any MCP-compatible client (e.g., Cursor, Claude Desktop) by adding a server entry to your client's MCP config. The client will launch the server on demand.
- Open your client's MCP configuration file (location varies by client).
- Add an entry namedaskui-idb-mcpthat starts the server over STDIO and sets a recommended target screen size.
usinguv(Make sure you haveuvinstalled):
{ "mcpServers": { "askui-idb-mcp": { "command": "uvx", "args": [ "idb-mcp@latest", "start", "stdio", "--target-screen-size", "1280", "800" ] } } }
Alternative (ifidb-mcpis directly on your PATH withoutuv):
{ "mcpServers": { "askui-idb-mcp": { "command": "idb-mcp", "args": [ "start", "stdio", "--target-screen-size", "1280", "800" ] } } }
- The--target-screen-size 1280 800setting improves coordinate reliability, especially for models like Claude.
- Target screen size📐: You can scale screenshots and coordinate inputs to a target viewport when starting the MCP server via CLI (--target-screen-size W H) or programmatically (target_screen_size=(W, H)).
- Mode📐: You can start the MCP server instdio,http, orssemode.
- Port📐: You can start the MCP server on a specific port via CLI (--port PORT) or programmatically (port=PORT).
-
Cannot see devices🔍: Make sure you have an iOS simulator or device connected and running. Verify with:
iPhone 17 Simulator (26.0) (32E2219C-ED40-452F-9A4D-XXXXXXX) iPhone 17 Pro Simulator (26.0) (764CCCB7-D84D-46EC-B62D-XXXXXXX) iPhone 17 Pro Max Simulator (26.0) (065382B5-56B4-4864-8174-XXXXXXX)
High-resolution screenshots with some LLMs🧠: Some LLM backends struggle to process very high-resolution images, resulting in poor coordinate detection or tapping errors. Use rescaling via--target-screen-size(ortarget_screen_sizein Python) to downscale screenshots and coordinates. For Claude models, we recommend1280 800.
This repository uses PDM and Ruff for dev tooling.
# Install dev deps pip install pdm pdm install --with dev # Lint / Format pdm run lint-check pdm run format-check # Type check pdm run type-check
Contributions are welcome! 🙌 Please open an issue or pull request on GitHub. Questions? Email us atsupport@askui.com.
- Homepage:https://github.com/askui/idb-mcp
- AskUI:https://www.askui.com
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
An MCP server to control iOS simulators and real devices, enabling AI assistant integration on macOS.
Extentos is a multi-vendor development platform for adding smart-glasses capabilities to existing iOS and Android apps. The simplest analogy is Stripe for smart glasses
An MCP server tailored for React Native–first development using Gluestack UI
MCP Server for PGYER platform, supports uploading, querying apps, etc.
A CLI tool for developers to manage Android devices via ADB.
Drives an Android emulator or a real device over adb: screenshots, UI hierarchy with true device-pixel coordinates, tap and type, app lifecycle, logcat, and Gradle builds and tests.
Interact with Android devices using the Android Debug Bridge (ADB).
Interact with Android devices using the Android Debug Bridge (ADB).
Policy-gated MCP tools that let coding agents build, flash, stimulate and observe real embedded hardware (OpenOCD, pyOCD, STM32CubeProgrammer, serial, CAN).
AI 測試大師 — MCP server driving pytest / Jest / Cypress / Go / Maestro. Analyze, generate, run, advise. Web + Mobile (iOS/Android/BlueStacks).
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





