simctl-mcp

by ambar

20 stars
139 downloads
Not rated
GitHub

About

# simctl-mcp A Model Context Protocol server implementation for iOS Simulator control. [![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/ambar/simctl-mcp)](https://archestra.ai/mcp-catalog/ambar__simctl-mcp) [![Install MCP…

Details

Author
ambar
GitHub stars
20
Downloads
139
Categories
Other

- Device management: create, delete, boot, shutdown, and list devices, types, and runtimes
- App management: install, uninstall, launch, terminate, and inspect apps
- App permissions: grant, revoke, and reset permissions for installed apps
- System features: open URLs, add media, manage environment variables and appearance
- Certificate & security: add root/regular certificates, reset keychain
- Media & content: take screenshots, get/set pasteboard content, send simulated push notifications

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name simctl-mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Run npx -y simctl-mcp (STDIO mode) or npx simctl-mcp --http (HTTP mode, default port 8081). Add the JSON configuration to .cursor/mcp.json or .vscode/mcp.json to register the server with compatible clients.

create_device

Create a new simulator device

delete_device

Delete the specified simulator device

boot_device

Boot simulator device

shutdown_device

Shutdown simulator device

get_env

Get device environment variable

open_url

Open URL in device

add_media

Add media files to device

install_app

Install app on device

uninstall_app

Uninstall app from device

get_app_container

Get installed app container path

launch_app

Launch app on device

terminate_app

Terminate running app on device

list_devices

List available simulator devices

list_device_types

List available device types

list_runtimes

List available runtimes

get_app_info

Get installed app information

get_appearance

Get device appearance settings

set_appearance

Set device appearance

push_notification

Send simulated push notification to device

grant_permission

Grant permission to app

revoke_permission

Revoke app permission

reset_permission

Reset all app permissions

add_root_certificate

Add root certificate to device keychain

add_certificate

Add certificate to device keychain

reset_keychain

Reset device keychain

get_screenshot

Get device screenshot

list_apps

List installed apps on device

set_pasteboard

Copy content to the device pasteboard

get_pasteboard

Get the contents of the device pasteboard

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

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.

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.