- SDK dependency alignment: upgraded `@modelcontextprotocol/sdk` to ^1.29.0 and `zod` to ^3.25.0
- Documentation updates including CLAUDE.md references, README syntax correction, and record_video UDID docs
- `ui_find_element` tool for searchable accessibility tree with matching options
- Optional `env` parameter in `launch_app` to pass environment variables at launch
- `record_video` now accepts an optional `udid` parameter for targeted recording
Full changelog
iOS Simulator MCP 1.6.0
Features
-
ui_find_elementTool: New tool that searches the accessibility tree by label, unique identifier, and/or element type with configurable substring/exact matching and case sensitivity. Returns only matching elements instead of the full tree, dramatically reducing token usage in agent loops. Thanks @kattouf! (#51)https://github.com/user-attachments/assets/d108eefe-9784-4560-9048-aab67e9769a5
-
launch_appEnvironment Variables: Added an optionalenvparameter tolaunch_appthat passesRecord<string, string>entries to the target app viaSIMCTL_CHILD_*environment variables at launch. Useful for feature flags, test fixtures, and dynamic configuration without rebuilding. Thanks @markgrover! (#47) -
record_videoUDID Support: Therecord_videotool now accepts an optionaludidparameter instead of hardcoding"booted", enabling targeted recording when multiple simulators are running. Thanks @saen-ai! (#59)
Improvements
ui_viewRobustness: WrappedJSON.parseofidboutput in error handling so the MCP server returns a clear error instead of crashing on malformed output. Added validation that screen frame dimensions are positive numbers.ui_viewTemp File Cleanup: Raw and compressed screenshot files are now deleted immediately after the image is read into memory instead of accumulating until process exit. Filenames include a random suffix to avoid collisions on rapid successive calls.record_videoStartup Detection: Added anexitlistener sorecord_videorejects promptly with the captured stderr if the capture process dies during startup, instead of silently resolving after the timeout. Startup timeout bumped from 3s to 5s for slower machines.- SDK Dependency Alignment: Upgraded
@modelcontextprotocol/sdkto^1.29.0and alignedzodto^3.25.0to match the SDK's peer dependency range.
Documentation
- CLAUDE.md Doc References: Added a section pointing to README, CONTRIBUTING, QA, TROUBLESHOOTING, SECURITY, and CONTEXT files. (#48)
- README
claude mcp addSyntax: Corrected theclaude mcp addcommand syntax in the README. Thanks @shmkane! (#45) record_videoUDID Docs: Documented the newudidparameter in the README tool reference.
Build
- Version Bump: Updated the project version to 1.6.0.