MCP ExplorerExplorer

Simctl Mcp

@ambaron a year ago
9 MIT
FreeCommunity
AI Systems
A server for controlling iOS Simulator via Model Context Protocol.

Overview

What is Simctl Mcp

simctl-mcp is a Model Context Protocol server implementation designed for controlling iOS Simulators. It allows users to manage simulator devices and applications through a standardized protocol.

Use cases

Use cases for simctl-mcp include automating the setup of testing environments, managing multiple simulator devices during development, performing batch operations on apps, and integrating with CI/CD pipelines for continuous testing.

How to use

To use simctl-mcp, you can start the server in two modes: HTTP Server Mode or STDIO Mode. In HTTP Server Mode, the server listens for HTTP connections on a specified port, while in STDIO Mode, it communicates through standard input/output streams. You can start the server using commands like ‘npx simctl-mcp’ for STDIO Mode or ‘npx simctl-mcp --http’ for HTTP Server Mode.

Key features

Key features of simctl-mcp include device management (creating, deleting, booting, and shutting down simulators), app management (installing, uninstalling, launching, and terminating apps), managing app permissions, system features (opening URLs, adding media files), certificate and security management, and media handling (taking screenshots and managing clipboard content).

Where to use

simctl-mcp is primarily used in software development and testing environments, particularly for iOS application development. It is beneficial for developers and testers who need to automate interactions with iOS simulators.

Content

simctl-mcp

A Model Context Protocol server implementation for iOS Simulator control.

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)

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers