Labsco
MCP SERVER

iOS Device Control

by chrishayuk

Drive an iOS simulator from an assistant: launch apps, tap, type, screenshot, set location.

Mobile & App Store Release
Summary
Use the MCP path; the bundled CLI has known breakage.

The README is unusually candid about its own state: several CLI subcommands are listed as broken, with `cli status`, `cli device list` and `cli session list` working and `cli ui screenshot` and `cli app list` not. The MCP server and the Python API are the paths it recommends, and they are the ones worth wiring up. Everything here is macOS-only by nature — it is driving Xcode's simulator.

What it is

A control layer over iOS simulators, and optionally real devices, exposed as an MCP server. Work is organised into sessions: create one against a device, then install and launch apps, drive the UI, capture screenshots and video, and set location or permissions.

What you get
  • Sessions — `ios_create_session`, `ios_list_sessions`, `ios_terminate_session`
  • Devices — `ios_list_devices`, `ios_boot_device`, `ios_shutdown_device`
  • Apps — `ios_install_app`, `ios_launch_app`, `ios_terminate_app`, `ios_uninstall_app`, `ios_list_apps`
  • UI — `ios_tap`, `ios_double_tap`, `ios_long_press`, `ios_swipe`, `ios_swipe_direction`, `ios_input_text`, `ios_press_button`
  • Capture — `ios_screenshot`, `ios_record_video`, `ios_get_screen_info`
  • Environment — `ios_set_location`, `ios_set_location_by_name`, `ios_add_media`, `ios_set_status_bar`, `ios_set_appearance`, `ios_set_permission`
  • Utilities — `ios_open_url`, `ios_get_logs`, `ios_clear_keychain`, `ios_focus_simulator`
Requirements

macOS with Xcode, the Xcode Command Line Tools (`xcode-select --install`), and at least one iOS Simulator runtime. Published as chuk-mcp-ios version 0.1.6; the documented path is `uv add chuk-mcp-ios`, and the client entry runs `uvx chuk-mcp-ios mcp`. Real devices are optional and need more: Developer Mode enabled, an Apple Developer account for app installation, and one of `idb`, `devicectl` (Xcode 15+) or `instruments`.

Setup effort

One command — uv add chuk-mcp-ios