Skip to main content
Glama
README.md
# 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)

TDQS

B3.2/5.0

Scored across 29 tools

Disambiguation5/5

Each tool targets a distinct action on simulator devices, apps, permissions, or media. Even similar tools like add_certificate and add_root_certificate are differentiated by their descriptions. There is no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., boot_device, list_apps, grant_permission). The naming style is uniform and predictable.

Tool Count2/5

With 29 tools, the count exceeds the typical well-scoped range of 3-15. While the domain is broad, this many tools may overwhelm agents and suggests a need for consolidation.

Completeness5/5

The tool set covers the full lifecycle of simulator management: device creation/deletion, app install/uninstall, permissions, certificates, media, pasteboard, appearance, notifications, and screenshots. No obvious gaps remain.

Maintenance

ActivityInactive
ResponsivenessNo issues