Labsco
MCP SERVER

xcsimctl

by nzrsky

Drive the iOS Simulator by asking — boot a device, install the app, set the location, take the screenshot.

Mobile & App Store Release
Summary
The simulator chores, without remembering simctl's flags.

Booting a device, granting a location permission, faking the status bar for a screenshot — all one-line simctl invocations nobody remembers, asked for here in words.

What it is

An MCP server over xcrun simctl. Device lifecycle, app install and launch, media capture, and the simulator-only controls — location, privacy permissions, status bar contents, light or dark appearance, push notifications — are each exposed as a tool.

What you get
  • Simulators listed with their states, and created, booted, shut down or deleted
  • An app installed from a .app bundle or an .ipa, then launched and terminated
  • A screenshot taken, or the screen recorded to video
  • A simulated location set
  • Privacy permissions granted or revoked without tapping through the alert
  • The status bar overridden, and light or dark appearance switched
  • A push notification delivered to the running simulator
Requirements

macOS with Xcode and the Command Line Tools, plus Python 3.13 or newer. Run it with uvx simctl-mcp-server, or install the package. No account, no key.

Setup effort

One command — simctl-mcp-server