Skip to main content
Glama

MCP iOS Simulator Screenshot

by yorifuji
README.md3.52 kB
# MCP iOS Simulator Screenshot A server that captures screenshots from iOS Simulator using the Model Context Protocol (MCP). ## Overview This project implements an MCP protocol server that captures the current screen of the iOS Simulator and saves it to a specified directory. ## Setup ### Cline and Roo Code For Cline and Roo Code, the basic format is: ```json { "mcpServers": { "mcp-ios-simulator-screenshot": { "command": "npx", "args": ["-y", "mcp-ios-simulator-screenshot"] } } } ``` If you clone the repository, you can use the following configuration: ```json { "mcpServers": { "mcp-ios-simulator-screenshot": { "command": "node", "args": ["/path/to/mcp-ios-simulator-screenshot/build/index.js"] } } } ``` ### Cursor, Claude Desktop For Cursor and Claude Desktop, you need to specify the `--output-dir` and the output directory: ```json { "mcpServers": { "mcp-ios-simulator-screenshot": { "command": "npx", "args": [ "mcp-ios-simulator-screenshot", "--output-dir", "/path/to/your/output/directory" ] } } } ``` ## MCP Tool Parameters ### get_screenshot Captures a screenshot from iOS Simulator and saves it to the specified directory. | Parameter | Type | Description | Default Value | | --------------------- | ------- | ----------------------------------------------------- | ------------- | | output_filename | string | Output filename | timestamp.png | | output_directory_name | string | Subdirectory name for screenshots | .screenshots | | resize | boolean | Whether to resize the image to approximately VGA size | true | | max_width | integer | Maximum width for resizing (pixels) | 640 | | device_id | string | Specify a simulator device | booted device | ## Output Format On success: ```json { "success": true, "message": "iOS Simulator screenshot saved successfully", "filePath": ".screenshots/simulator_2025-04-10T16-51-16-755Z.png", "metadata": { "width": 1170, "height": 2532, "format": "png", "size": 382946, "timestamp": "2025-04-10T16:51:16.755Z" }, "serverConfig": { "commandLineArgs": { "outputDir": "/Users/username/Desktop" // Only included when --output-dir is specified } } } ``` Note: The `serverConfig.commandLineArgs.outputDir` field is only included in the response when the `--output-dir` parameter is specified when starting the server. ```json { "success": false, "message": "Error capturing iOS Simulator screenshot: [error message]", "error": { "code": "ENOENT", "command": "xcrun simctl io booted screenshot --type=png -", "stderr": "No matching devices found." } } ``` ## Troubleshooting - **If you cannot capture screenshots**: - Check if iOS Simulator is running - Check if Xcode Command Line Tools are installed - Check if the `xcrun simctl io booted screenshot` command can be executed directly - **If permission errors occur**: - Check if you have write permissions for the output directory ## Requirements - Node.js 16.0.0 or higher - macOS (iOS Simulator required) - Xcode Command Line Tools ## Technology Stack - TypeScript - Node.js - MCP SDK (@modelcontextprotocol/sdk) ## License MIT ## Other Languages - [日本語](README.ja.md)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yorifuji/mcp-ios-simulator-screenshot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server