{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-xcsimctl","slug":"xcsimctl","name":"xcsimctl","type":"mcp","url":"https://github.com/nzrsky/simctl-mcp-server","page_url":"https://unfragile.ai/xcsimctl","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-xcsimctl__cap_0","uri":"capability://automation.workflow.simulator.lifecycle.management.via.mcp","name":"simulator-lifecycle-management-via-mcp","description":"Manages Xcode iOS/macOS simulator lifecycle (boot, shutdown, erase, reset) through MCP protocol endpoints that wrap native `xcrun simctl` commands. Implements MCP tool schema bindings to expose simulator state transitions as callable functions with structured input validation and JSON response formatting, enabling remote control of simulators from any MCP-compatible client without direct shell access.","intents":["I need to programmatically boot and shutdown simulators in CI/CD pipelines without shell scripting","I want to reset simulator state between test runs via an MCP interface","I need to manage multiple simulator instances from a remote IDE or automation tool"],"best_for":["iOS/macOS developers automating simulator management in CI/CD workflows","QA teams building test automation frameworks that need simulator control","Teams using MCP-compatible IDEs (Claude for VS Code, Cursor) wanting native simulator integration"],"limitations":["Requires Xcode and simctl CLI installed on the host machine — cannot manage simulators on remote machines without SSH tunneling","No simulator creation/deletion capability — only manages pre-existing simulator instances","Blocking operations (boot/shutdown) may timeout on slow machines; no configurable timeout parameters exposed","Cannot manage simulator network conditions, location spoofing, or hardware sensor simulation — limited to lifecycle only"],"requires":["macOS with Xcode Command Line Tools installed","xcrun simctl available in PATH","MCP client implementation (e.g., Claude for VS Code, Cursor, or custom MCP host)","Node.js 16+ (if running as Node.js MCP server)"],"input_types":["structured JSON with simulator UDID or name","optional flags for reset scope (all, content, settings)"],"output_types":["JSON with operation status (success/failure)","simulator state information (booted/shutdown/creating)","error messages with simctl exit codes"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_1","uri":"capability://search.retrieval.simulator.device.enumeration.and.discovery","name":"simulator-device-enumeration-and-discovery","description":"Queries available iOS/macOS simulators on the host machine via `xcrun simctl list` and parses output into structured JSON with device metadata (UDID, name, OS version, state, device type). Implements MCP tool that returns paginated or filtered device lists, enabling clients to discover simulator inventory without parsing raw CLI output or maintaining device registries.","intents":["I need to list all available simulators and their current state to choose which one to test on","I want to find a simulator by name or OS version programmatically","I need to verify simulator availability before launching tests"],"best_for":["Test automation frameworks that need to dynamically select target simulators","CI/CD pipelines discovering available simulator configurations","IDE plugins providing simulator picker UI to developers"],"limitations":["Parsing depends on xcrun simctl output format — may break with Xcode version changes","No caching of device list — each query re-executes simctl, adding ~500ms latency","Cannot filter by custom attributes (e.g., 'has GPU acceleration', 'supports Metal') — only standard simctl properties","Does not include simulator availability status (e.g., 'in use by another process') — only reports state from simctl"],"requires":["macOS with Xcode Command Line Tools","xcrun simctl list command functional","MCP client with tool calling support"],"input_types":["optional filter parameters (device type, OS version, state)","optional pagination parameters (limit, offset)"],"output_types":["JSON array of simulator objects with UDID, name, OS version, state, device type","metadata including total count and filter applied"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_2","uri":"capability://automation.workflow.simulator.app.installation.and.launch","name":"simulator-app-installation-and-launch","description":"Installs and launches applications on target simulators via MCP tools wrapping `xcrun simctl install` and `xcrun simctl launch` commands. Accepts app bundle paths or app identifiers, validates installation state, and returns launch process information. Implements error handling for missing bundles, incompatible architectures, and simulator state mismatches.","intents":["I need to install a built app bundle on a simulator and launch it programmatically","I want to launch an already-installed app by bundle ID without manual Xcode interaction","I need to verify app installation succeeded before running tests"],"best_for":["Mobile app CI/CD pipelines automating build-test-deploy workflows","QA automation frameworks launching apps for functional testing","Developers testing app installation and launch behavior across simulator versions"],"limitations":["Requires app bundle to be pre-built and available on the host filesystem — no remote bundle fetching","No support for app arguments or environment variables at launch time — only basic launch","Cannot monitor app lifecycle after launch (crashes, backgrounding) — only confirms launch initiated","Installation may fail silently if simulator is in incompatible state; error messages depend on simctl output parsing"],"requires":["macOS with Xcode Command Line Tools","Pre-built .app bundle or valid bundle ID for installed app","Target simulator booted and accessible","Sufficient disk space on simulator for app installation"],"input_types":["app bundle path (string) or bundle ID (string)","simulator UDID (string)","optional launch arguments (array of strings)"],"output_types":["JSON with installation status (success/failure)","process ID of launched app (if successful)","error details with simctl exit code"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_3","uri":"capability://data.processing.analysis.simulator.file.system.access.and.data.management","name":"simulator-file-system-access-and-data-management","description":"Provides file system access to simulator sandboxes via MCP tools wrapping `xcrun simctl get_app_container` and `xcrun simctl keychain` commands. Enables pushing/pulling files to simulator app containers, accessing app documents and caches, and managing simulator keychain data. Implements path resolution and sandbox boundary validation to prevent unauthorized filesystem access.","intents":["I need to push test data files into a simulator app's Documents folder before running tests","I want to extract app logs or database files from a simulator for debugging","I need to manage simulator keychain credentials for authentication testing"],"best_for":["Mobile QA teams setting up test data in app sandboxes","Developers debugging app state by extracting simulator databases and logs","Test automation frameworks managing app credentials and authentication state"],"limitations":["File operations are synchronous and may timeout on large files (>100MB) — no streaming or chunked transfer","Keychain access limited to basic get/set operations — no complex keychain query or filtering","Cannot access simulator system files or other app sandboxes — only target app container","Path resolution depends on app being installed and container path being discoverable via simctl"],"requires":["macOS with Xcode Command Line Tools","Target app installed on simulator","Simulator booted and accessible","File paths must be within app sandbox boundaries"],"input_types":["source file path (local or simulator)","destination path (simulator app container)","app bundle ID (for container resolution)","keychain key/value pairs (for credential management)"],"output_types":["JSON with file operation status (success/failure)","file contents (for pull operations) or file metadata","keychain operation confirmation"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_4","uri":"capability://data.processing.analysis.simulator.log.streaming.and.diagnostics","name":"simulator-log-streaming-and-diagnostics","description":"Streams simulator system logs and app-specific logs via MCP tools wrapping `xcrun simctl spawn` and `log stream` commands. Captures console output, system logs, and app crash reports in real-time or historical mode, with filtering by log level, process, or time range. Implements log parsing to extract structured diagnostic data (crashes, warnings, errors) for test result analysis.","intents":["I need to capture app console output and system logs during test execution for debugging","I want to detect app crashes or warnings in simulator logs and fail tests accordingly","I need to extract diagnostic data from simulator logs for test reporting"],"best_for":["Mobile test automation frameworks correlating app behavior with system logs","Developers debugging app failures by analyzing simulator console output","CI/CD pipelines capturing diagnostic data for test failure analysis"],"limitations":["Log streaming is real-time only — no built-in log persistence or archival","Filtering by log level or process requires client-side parsing of unstructured log output","Cannot capture logs from multiple simulators simultaneously in a single stream","Log format varies by iOS/macOS version — parsing may be fragile across OS updates"],"requires":["macOS with Xcode Command Line Tools","Target simulator booted","App running on simulator (for app-specific logs)","MCP client with streaming support (if using real-time log streaming)"],"input_types":["simulator UDID (string)","optional log filter (process name, log level, time range)","optional app bundle ID (for app-specific logs)"],"output_types":["streamed log lines (text or JSON)","structured crash reports (JSON with stack traces)","diagnostic summary (error count, warning count, crash details)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_5","uri":"capability://automation.workflow.simulator.network.and.hardware.simulation","name":"simulator-network-and-hardware-simulation","description":"Simulates network conditions and hardware behaviors on simulators via MCP tools wrapping `xcrun simctl io` and `xcrun simctl status_bar` commands. Enables throttling network bandwidth, introducing latency, simulating hardware events (shake, lock, unlock), and controlling status bar appearance. Implements condition presets (e.g., '3G', 'LTE', 'WiFi') for common testing scenarios.","intents":["I need to test app behavior under poor network conditions (3G, high latency) without manual configuration","I want to simulate hardware events (shake, lock) to test app responsiveness","I need to test status bar rendering with different carrier/battery states"],"best_for":["Mobile QA teams testing app behavior under degraded network conditions","Developers testing app responsiveness to hardware events and state changes","Performance testing frameworks validating app behavior under constrained conditions"],"limitations":["Network simulation is coarse-grained (preset profiles only) — no fine-grained bandwidth/latency tuning","Hardware event simulation is limited to basic events (shake, lock, unlock) — no complex multi-touch or sensor simulation","Status bar simulation affects appearance only — does not affect actual device capabilities or system behavior","Network conditions may not persist across app restarts or simulator reboots"],"requires":["macOS with Xcode Command Line Tools","Target simulator booted","iOS 11+ for network simulation, iOS 13+ for advanced hardware simulation"],"input_types":["network condition preset (string: '3G', 'LTE', 'WiFi', 'custom')","optional bandwidth/latency values (for custom conditions)","hardware event type (string: 'shake', 'lock', 'unlock')","status bar configuration (carrier name, battery level, etc.)"],"output_types":["JSON with condition application status (success/failure)","current network/hardware state","confirmation of event injection"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-xcsimctl__cap_6","uri":"capability://tool.use.integration.mcp.protocol.server.implementation","name":"mcp-protocol-server-implementation","description":"Implements MCP (Model Context Protocol) server that exposes simulator management capabilities as callable tools with JSON schema validation. Handles MCP request/response serialization, tool registration, error handling, and client connection management. Enables any MCP-compatible client (Claude for VS Code, Cursor, custom hosts) to invoke simulator operations as first-class functions without shell access.","intents":["I want to use Claude for VS Code to manage simulators directly from the IDE","I need to integrate simulator control into a custom MCP host or automation framework","I want to expose simulator management as a service that multiple clients can connect to"],"best_for":["Developers using Claude for VS Code or Cursor wanting IDE-native simulator control","Teams building custom MCP hosts that need simulator management capabilities","Organizations standardizing on MCP for tool integration across development workflows"],"limitations":["MCP server runs on the host machine only — cannot manage simulators on remote machines without SSH tunneling or network MCP transport","No built-in authentication or authorization — assumes trusted local network access","Tool schema is static — cannot dynamically register new simulator management tools at runtime","Error handling depends on MCP client implementation — some clients may not display detailed error messages"],"requires":["Node.js 16+ (or equivalent runtime for MCP server implementation)","MCP SDK or compatible MCP server framework","MCP-compatible client (Claude for VS Code, Cursor, or custom host)","macOS with Xcode Command Line Tools (for underlying simctl access)"],"input_types":["MCP tool call requests with JSON parameters","MCP initialization messages with client capabilities"],"output_types":["MCP tool call responses with JSON results","MCP error messages with error codes and descriptions","MCP resource updates (if implementing resource streaming)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":25,"verified":false,"data_access_risk":"high","permissions":["macOS with Xcode Command Line Tools installed","xcrun simctl available in PATH","MCP client implementation (e.g., Claude for VS Code, Cursor, or custom MCP host)","Node.js 16+ (if running as Node.js MCP server)","macOS with Xcode Command Line Tools","xcrun simctl list command functional","MCP client with tool calling support","Pre-built .app bundle or valid bundle ID for installed app","Target simulator booted and accessible","Sufficient disk space on simulator for app installation"],"failure_modes":["Requires Xcode and simctl CLI installed on the host machine — cannot manage simulators on remote machines without SSH tunneling","No simulator creation/deletion capability — only manages pre-existing simulator instances","Blocking operations (boot/shutdown) may timeout on slow machines; no configurable timeout parameters exposed","Cannot manage simulator network conditions, location spoofing, or hardware sensor simulation — limited to lifecycle only","Parsing depends on xcrun simctl output format — may break with Xcode version changes","No caching of device list — each query re-executes simctl, adding ~500ms latency","Cannot filter by custom attributes (e.g., 'has GPU acceleration', 'supports Metal') — only standard simctl properties","Does not include simulator availability status (e.g., 'in use by another process') — only reports state from simctl","Requires app bundle to be pre-built and available on the host filesystem — no remote bundle fetching","No support for app arguments or environment variables at launch time — only basic launch","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.24,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.690Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=xcsimctl","compare_url":"https://unfragile.ai/compare?artifact=xcsimctl"}},"signature":"IyFpj1brmJVG7Br7oPRBVypK1ox0fUYuQrVaiEZtnBgBcup7Vxo24JWwJ9f0N1eiZlTgkTlQ1rcBnyMdN0dZAg==","signedAt":"2026-06-21T23:37:08.808Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/xcsimctl","artifact":"https://unfragile.ai/xcsimctl","verify":"https://unfragile.ai/api/v1/verify?slug=xcsimctl","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}