LabscoMCP early access ↗
chrishayukMCP SERVER

iOS Device Control

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

by chrishayuk ↗Mobile & App Store ReleaseCommunity

LABSCO 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 on PyPI as chuk-mcp-ios (latest release 0.1.5); the client entry runs it with uvx chuk-mcp-ios mcp, so nothing needs installing first. 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

Add the configuration to your client