mcp-server-simulator-ios-idb  by InditexTech

LLM-driven automation for iOS simulators

Created 7 months ago
272 stars

Top 94.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This project provides an MCP (Model Context Protocol) server that acts as a bridge between Large Language Models (LLMs) and iOS simulators. It enables users to control and interact with iOS simulators, manage applications, perform UI testing, and access debugging features using natural language commands. The primary benefit is abstracting the complexity of iOS simulator automation, making it accessible through intuitive language prompts for developers and researchers.

How It Works

The server employs a modular architecture comprising three core components: IDBManager for direct interaction with iOS simulators via the facebook/idb tool, NLParser to interpret natural language instructions, and MCPOrchestrator to coordinate actions. These components communicate through dedicated adapters (ParserToOrchestrator, OrchestratorToIDB). This design allows for flexible integration, either as a standalone library or through an MCP interface for LLM assistants, translating high-level natural language requests into specific simulator actions.

Quick Start & Requirements

  • Primary Install/Run: Easiest via Cline (Add this mcp to cline https://github.com/InditexTech/mcp-server-simulator-ios-idb). Manual installation involves cloning the repository, creating and activating a Python virtual environment (venv), running npm install, npm run build, and then npm start.
  • Prerequisites: macOS, Node.js (v14.0.0+), Homebrew, Xcode (with iOS simulators installed), and Python 3.
  • Links: Official repository: https://github.com/InditexTech/mcp-server-simulator-ios-idb.

Highlighted Details

  • Comprehensive simulator control: session management, boot/shutdown, simulator listing, window focusing.
  • Full application lifecycle management: install, launch, terminate, uninstall, state monitoring, permission handling.
  • Advanced UI interaction: tap, swipe, button presses, text input, accessibility element querying, screen recording.
  • Extended functionality includes location simulation, media injection, URL handling, keychain operations, and contact database management.
  • Supports all commands available in the idb CLI tool.
  • Usable as a TypeScript/JavaScript library or integrated with LLMs via MCP.

Maintenance & Community

The project relies heavily on facebook/idb and acknowledges its contributors. No specific community channels (like Discord/Slack) or detailed roadmap information are provided within the README.

Licensing & Compatibility

  • License: Apache-2.0.
  • Compatibility: The Apache-2.0 license is permissive, generally allowing for commercial use and integration into closed-source projects.

Limitations & Caveats

This tool is strictly limited to macOS environments due to its reliance on iOS simulators. It inherits any limitations present in the underlying facebook/idb tool. The setup process requires managing multiple dependencies and environments (Node.js, Python virtual environments, Homebrew). The README does not specify performance benchmarks or detail support for physical iOS devices.

Health Check
Last Commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.