Simctl Mcp
Overview
What is simctl-mcp?
simctl-mcp is a public repository hosted on GitHub, created by the user ### ambar. This project is designed to provide a command-line interface for managing and controlling iOS simulators. It simplifies the process of interacting with simulators, allowing developers to automate tasks and streamline their development workflow.
Features of simctl-mcp
- Command-Line Interface: Offers a user-friendly command-line interface for managing iOS simulators.
- Automation: Enables automation of common tasks such as launching simulators, installing apps, and running tests.
- Cross-Platform Compatibility: Works seamlessly across different operating systems, making it accessible for all developers.
- Open Source: Being a public repository, it allows developers to contribute, modify, and enhance the tool as per their needs.
- Documentation: Comprehensive documentation is available to help users understand how to utilize the tool effectively.
How to Use simctl-mcp
- Installation: Clone the repository from GitHub using the command:
git clone https://github.com/ambar/simctl-mcp.git
- Navigate to the Directory: Change into the project directory:
cd simctl-mcp
- Run Commands: Use the command-line interface to manage simulators. For example, to list all available simulators, you can run:
./simctl list
- Automate Tasks: Create scripts to automate repetitive tasks using the commands provided by simctl-mcp.
Frequently Asked Questions
What programming language is simctl-mcp written in?
simctl-mcp is primarily written in Python, making it easy for developers familiar with the language to contribute.
Is simctl-mcp compatible with all versions of iOS?
Yes, simctl-mcp is designed to work with various versions of iOS simulators, ensuring compatibility across different development environments.
Can I contribute to simctl-mcp?
Absolutely! Since it is an open-source project, contributions are welcome. You can fork the repository, make your changes, and submit a pull request.
Where can I find the documentation for simctl-mcp?
Documentation is available within the repository itself, typically found in a README.md
file or a dedicated docs
folder.
How can I report issues or bugs in simctl-mcp?
You can report issues by navigating to the "Issues" tab in the GitHub repository and submitting a new issue with details about the problem you encountered.
Details
simctl-mcp
A Model Context Protocol server implementation for iOS Simulator control.
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:
- STDIO Mode (default)
- 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)
Server Config
{
"mcpServers": {
"simctl-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--ambar--simctl-mcp--simctl-mcp",
"pnpm run start"
],
"env": {}
}
}
}