# ambar/simctl-mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/ambar/simctl-mcp  
**GitHub Stars:** 20  
**npm Downloads (last month):** 67  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ambar-simctl-mcp

## Description
A MCP server implementation for iOS Simulator control.

## Tools
Capabilities this server exposes over MCP:

- **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 Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "simctl-mcp": {
    "command": "npx",
    "args": ["-y","simctl-mcp"],
    "env": {
      "PORT": ""
    }
  }
}
```

**Requires environment variables:** `PORT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation & README

# 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 Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=simctl-mcp&config=eyJjb21tYW5kIjoibnB4IC15IHNpbWN0bC1tY3AifQ%3D%3D)

## Config

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

```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.

```bash
npx simctl-mcp
```

### HTTP Server Mode

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

```bash
# 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)

