mcpField
S
simctl-mcp

simctl-mcp

Local
github.com/ambarDeveloper Tools20Updated 62w ago

About simctl-mcp

simctl-mcp is an MCP server for controlling the iOS Simulator, started with npx and runnable in STDIO or HTTP mode. It is aimed at developers who need to perform device, app and system operations in the simulator.

Key features

  1. 01Create, boot, shut down and delete simulator devices
  2. 02Install, launch, terminate and inspect apps
  3. 03Grant, revoke and reset app permissions
  4. 04Open URLs, switch appearance and set environment variables
  5. 05Take screenshots and read or write clipboard content

Use cases

  1. 01Managing the simulator through natural language in Cursor or VS Code
  2. 02Automating app installation and permission setup
  3. 03Looking up app bundle IDs or generating Appium connection strings

MCP support

This is an MCP server that exposes iOS Simulator control tools, such as device management, app management and screenshots, to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"simctl": {
"command": "npx",
"args": [
"-y",
"simctl-mcp"
]
}
}
}
Run commandnpx -y simctl-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmsimctl-mcp

Tools

29

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
namestringYesDevice name
runtimestringYesRuntime version
deviceTypestringYesDevice type

Details

From the project README

simctl-mcp

A Model Context Protocol server implementation for iOS Simulator control.

Trust Score Install MCP Server

Config

.cursor/mcp.json or .vscode/mcp.json:

{
  "mcpServers": {
    "simctl-mcp": {
      "command": "npx",
      "args": ["-y", "simctl-mcp"]
    }
  }
}

Prompts

Some examples of prompts:

  • What operations does the simulator support?
  • Open shortcuts://
  • What is the bundle ID of the "Settings" app?
  • Set clipboard content to: Hello
  • What is the simulator SDK version?
  • Generate an Appium connection string for the "Settings" app

Usage

The server can be started in two modes:

  1. STDIO Mode (default)
  2. HTTP Server Mode
STDIO Mode

In STDIO mode, the server communicates through standard input/output streams.

npx simctl-mcp
HTTP Server Mode

In HTTP server mode, the server listens for HTTP connections on a specified port.

# Start with default port (8081)
npx simctl-mcp --http

# Start with custom port using --port flag
npx simctl-mcp --http --port 3000

# Start with custom port using environment variable
PORT=3000 npx simctl-mcp --http

Tools

Device Management:

  • Create new simulator devices
  • Delete existing devices
  • Boot devices
  • Shutdown devices
  • List all available devices
  • List available device types
  • List available runtimes

App Management:

  • Install apps
  • Uninstall apps
  • Launch apps
  • Terminate running apps
  • Get app container path
  • Get app information
  • List installed apps

App Permissions:

  • Grant permissions to apps
  • Revoke app permissions
  • Reset all app permissions

System Features:

  • Open URLs in simulator
  • Add media files
  • Get/Set environment variables
  • Get/Set appearance (light/dark mode)
  • Send simulated push notifications

Certificate & Security:

  • Add root certificates
  • Add regular certificates
  • Reset keychain

Media & Content:

  • Take screenshots
  • Get/Set pasteboard content (clipboard)

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.