LabscoMCP early access ↗
nzrskyMCP SERVER

SimCtl MCP Server

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

by nzrsky ↗Mobile & App Store ReleaseCommunity

No longer maintained. The GitHub repository for this server is archived — no fixes or security updates are expected.

View project ↗

LABSCO 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 — uvx simctl-mcp-server