home / mcp / iphone mirroir mcp server
Controls a real iPhone via macOS iPhone Mirroring, enabling screenshots, video, taps, swipes, typing, and app navigation from MCP clients.
Configuration
View docs{
"mcpServers": {
"jfarcand-iphone-mirroir-mcp": {
"command": "npx",
"args": [
"iphone-mirroir-mcp"
]
}
}
}You can control a real iPhone from your Mac using the MCP server that interfaces with macOS iPhone Mirroring. You can capture screenshots, record video, tap, swipe, type, and navigate apps visible on the mirrored screen from any MCP client.
You will run an MCP client that communicates with the iphone-mirrroir-mcp server to control your iPhone. Practical uses include taking screenshots of apps you test, recording high-quality videos of user flows, tapping controls, swiping to scroll, typing text into fields, and launching apps or URLs. Input flows go through Karabiner DriverKit virtual HID devices so your actions mirror real touches and keyboard behavior on the device.
Prerequisites: you need macOS 15+ with iPhone Mirroring, an iPhone connected to the Mac via iPhone Mirroring, and Karabiner-Elements installed and activated.
Install options are provided to suit your preference. The following install methods are described with concrete commands you can copy and run.
Typing and key presses flow through the Karabiner virtual HID keyboard. iPhone Mirroring is activated if needed to bring the correct window to the front, and the MCP server keeps the mirroring session active for consistent input without repeatedly switching between apps.
This setup grants an automation agent full control of your iPhone screen. It can tap, type, and navigate, including sensitive apps. The helper daemon listens only on a local Unix socket, and the driver runs with root privileges for HID access. Use this tool only on devices you trust.
If you encounter issues, verify the following: Karabiner-Elements is running and its DriverKit extension is enabled; the helper daemon is active; accessibility permissions are granted for the terminal or client you use; and iPhone Mirroring is active when sending input.
Examples illustrate typical interaction patterns you can perform through the MCP client, such as launching apps, navigating screens, and performing input actions. Use these as templates to build real workflows for your testing and automation tasks.
The MCP client communicates with iphone-mirroir-mcp, which coordinates mirroring discovery, screen capture, and input simulation. A helper daemon bridges user input to Karabiner DriverKit, while Karabinerβs HID devices route touch and keyboard events through the macOS HID system into iPhone Mirroring.
To update, use your preferred installation methodβs update steps (Homebrew or source). To uninstall, stop the service and remove the package according to the method you used to install.
Capture the iPhone screen as a PNG image in base64 encoding.
Begin a video recording of the mirrored screen, saving to a specified output path.
Stop recording and return the path to the produced .mov file.
Tap at specific coordinates relative to the mirroring window.
Perform two rapid taps at a given coordinate.
Hold a tap at a position for a duration to trigger context menus or drag initiation.
Swipe between two points with an optional duration to simulate scrolling or gestures.
Perform a slow, sustained drag between two points to move icons or adjust sliders.
Type text into the focused field via Karabiner virtual HID keyboard with layout support.
Send special keys such as Return, Escape, Tab, arrows with optional modifiers.
Trigger the shake gesture to undo or access developer menus.
Open an app by name using Spotlight search.
Open a URL in Safari on the iPhone.
Return to the iPhone home screen.
Open the App Switcher on the iPhone.
Open macOS Spotlight search.
Report device orientation and window dimensions.
Provide connection state and window geometry for the current session.