Releases: joshuayoes/ios-simulator-mcp
Releases · joshuayoes/ios-simulator-mcp
v1.4.2 - Enhanced Docs & Config 📚
iOS Simulator MCP v1.4.2
Features
- Enhanced Default Output Directory: Added support for
IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR
environment variable to customize the default directory for screenshots and video recordings. If not set, continues to use~/Downloads
as the fallback.
Documentation
- Restructured Tools Section: Reorganized the README to provide detailed descriptions and TypeScript parameter definitions for each tool (
get_booted_sim_id
,ui_describe_all
,ui_tap
,ui_type
,ui_swipe
,ui_describe_point
,ui_view
,screenshot
,record_video
,stop_recording
). - Enhanced Environment Variables Documentation: Added a comprehensive table explaining all available environment variables with examples.
Build
- Version Bump: Updated the project version to v1.4.2.
v1.4.1 - Fix UI View Tool Compression 🔧🖼️
iOS Simulator MCP v1.4.1
🐛 Bug Fixes
- Screenshot Scaling Fix: Fixed screenshot scaling to match point coordinates for accurate tap targeting. This resolves issues where UI interactions would miss their intended targets due to coordinate system mismatches between screenshots and actual simulator dimensions. Thank you @riwsky for the contribution!
ui-view-compression-fix.mp4
📚 Documentation
- Added "Add to Cursor" Button: Included a convenient installation button for Cursor IDE users in the README.
- MCP Registry Server Listings: Added a dedicated section showcasing server listings and security badges.
- Enhanced Troubleshooting Guide: Added guidance about simulator screen dimensions and coordinate adjustments for AI agents.
- Updated QA Documentation: Replaced
stop_recording
withui_view
in test cases for improved clarity on page viewing functionality. - Feature Documentation: Updated README to highlight the new capability for AI agents to view the simulator screen.
🔧 Build
- Version Bump: Updated the project version to v1.4.1.
v1.4.0 - UI View Tool 🤖👀
iOS Simulator MCP v1.4.0
Features
- UI View Tool: Added
ui_view
tool to capture and compress screenshots of the iOS simulator view. This tool automatically captures PNG screenshots and compresses them to JPEG format for efficient transmission, with proper error handling and temporary file management.
Improvements
- Enhanced File Management: Improved temporary file handling with dedicated temporary directory creation and cleanup on server shutdown.
- Better Error Handling: Added comprehensive error handling for screenshot capture operations.
Documentation
- Added Context Documentation: Introduced
CONTEXT.md
file with relevant references for project development, including MCP docs, iOS simulator command line references, idb commands, image compression tools, and security considerations.
Build
- Version Bump: Updated the project version to 1.4.0.
ios-simulator-ui-view-demo.mp4
v1.3.3 - Cmd Injection Security Hardening 🔐
iOS Simulator MCP v1.3.3
Warning
Security Notice: This release addresses a command injection vulnerability (moderate severity) present in versions < 1.3.3. Please update to v1.3.3
or later. This vulnerability is described in Snyks article on Exploiting MCP Servers Vulnerable to Command Injection.
Security Fixes
- Patched Command Injection Vulnerability: Replaced
child_process.exec
with the more securechild_process.execFile
. This mitigates command injection risks by ensuring user-provided inputs are treated as distinct arguments and not interpreted by the shell, following best practices from the Node.js security community. - Strict Input Validation: Implemented robust input validation using
zod
for all user-provided arguments, including regex checks for UDIDs and length limits for paths and text. - Secure Argument Handling: Added a
--
separator to commands to clearly distinguish options from positional arguments, preventing misinterpretation by the shell.
Affected Tools
The following tools have been secured:
ui_tap
ui_type
ui_swipe
ui_describe_point
ui_describe_all
screenshot
record_video
stop_recording
Documentation
- Updated
SECURITY.md
: The security policy was updated with details about the vulnerability, its impact, and the fix. - Added
QA.md
: A new Quality Assurance guide (QA.md
) was added with manual test cases. - Updated
README.md
: The README now includes a prominent security notice and updated installation instructions.
Build
- Version Bump: The project version has been bumped to
1.3.3
.
v1.3.2 - Troubleshooting Guide 📄
iOS Simulator MCP v1.3.2
New Features & Improvements
- Added Troubleshooting Guide: Introduced a
TROUBLESHOOTING.md
file and linked it in the main entry point for easier debugging. (9d0720f) - Improved Error Handling: Implemented consistent error messaging using a dedicated
toError
function. (e2d5889) - Enhanced Troubleshooting Link: Updated the troubleshooting link in
index.ts
to include a plain text guide suitable for LLMs. (31638f2) - Added Release Automation: Integrated a Cursor workflow to streamline the GitHub release creation process. (a75d2e1, 01c0e33)
Documentation
- Refined QA Use Case: Updated the description of the QA use case in
README.md
. (354942e) - Updated Installation Instructions: Revised the server installation steps in
README.md
. (6fec54a)
Build
- Version Bump: Updated the project version to 1.3.2. (9f562d8)
v1.3.1 - Better Tool Errors & Docs
iOS Simulator MCP v1.3.1
Improvements
- Improved Tool Invocation Error Identification: Enhanced the system to better pinpoint errors when invoking tools.
Documentation
- Added MCP Server Badge: Included a badge in the README to indicate the server status.
- Added Security Policy: Introduced a
SECURITY.md
file outlining the security policy and vulnerability reporting instructions. - Added License File: Included the MIT License file in the project repository.
Build
- Version Bump: Updated the project version to 1.3.1.
v1.3.0 - Tool Filtering 🛠️⚙️
iOS Simulator MCP v1.3.0
New Features
- Tool Filtering via Environment Variables
- Filter specific tools using the new
IOS_SIMULATOR_MCP_FILTERED_TOOLS
environment variable - Customizable filtering options:
- Comma-separated list of tool names to disable
- Supports all available tool types
- No impact on non-filtered tools
- Use Case: prevent Cursor Agent mode from selecting tools it cannot use for context as of writing this like
screenshot
by removing it from the available tools that are available.{ "env": { "IOS_SIMULATOR_MCP_FILTERED_TOOLS": "screenshot" } }
- Use Case: Disable resource-intensive tools like video recording:
{ "env": { "IOS_SIMULATOR_MCP_FILTERED_TOOLS": "record_video,stop_recording" } }
- Filter specific tools using the new
With Filtering
Config | Cursor Settings |
---|---|
![]() |
![]() |
Without Filtering
Config | Cursor Settings |
---|---|
![]() |
![]() |
Documentation Updates
- Added new Configuration section in README
- Added environment variable documentation
- Included examples of tool filtering usage
v1.2.0 - Screen Recording! 🔴📱
iOS Simulator MCP v1.2.0
New Features
- Video Recording Functionality
- Record iOS Simulator screen activity with the new
record_video
command - Customizable recording options:
- Output path (defaults to
~/Downloads/simulator_recording_$DATE.mp4
) - Codec selection (
h264
orhevc
) - Display selection (
internal
orexternal
) - Mask handling for non-rectangular displays
- Force option to overwrite existing files
- Output path (defaults to
- Stop recordings with the new
stop_recording
command
- Record iOS Simulator screen activity with the new
Documentation Updates
- Updated README with examples for the new video recording capabilities
- Changed terminology from "tool" to "server" throughout documentation
- Updated demo video in README
ios-simulator-mcp-v1.2.0-demo.mov
v1.1.0 - Screenshots! 📸📱
iOS Simulator MCP v1.1.0
New Features
- Screenshot Support: Added ability to capture screenshots of the iOS simulator screen
- Supports multiple image formats (png, tiff, bmp, gif, jpeg)
- Save screenshots to any location with automatic path resolution
- Option to specify display type and mask handling for non-rectangular displays
Documentation
- Updated README with screenshot feature documentation
- Added example prompt for taking screenshots
ios-simulator-mcp-screenshot-demo.mov
v1.0.0 - Initial Release 🚀
iOS Simulator MCP v1.0.0
I'm excited to announce the first stable release of iOS Simulator MCP, a Model Context Protocol (MCP) tool that enables seamless interaction with iOS simulators directly through MCP clients like Cursor.
🌟 Features
- Simulator Identification: Easily get the ID of the currently booted iOS simulator
- Comprehensive UI Interaction:
- Full screen accessibility element inspection
- Precise tap interactions with coordinate support
- Text input capabilities
- Swipe gesture support with customizable parameters
- Point-specific UI element inspection