That is the trade this makes: no background agent, no Python on the target, works with any macOS version, and the whole native app ecosystem is in reach. The cost is the authentication limit — protocol 30 only — so check that your target Mac negotiates it before planning around this.
A server that controls a remote macOS desktop through Apple's Screen Sharing, so an MCP client can see the screen and drive the mouse and keyboard.
- remote_macos_get_screen — a screenshot of the remote desktop
- remote_macos_send_keys — keyboard input to the remote machine
- remote_macos_mouse_move, remote_macos_mouse_click, remote_macos_mouse_double_click and remote_macos_mouse_scroll, all with automatic coordinate scaling
- remote_macos_mouse_drag_n_drop for drag operations from one point to another
- remote_macos_open_application, which activates an app and returns its PID for follow-up steps
- WebRTC screen sharing through LiveKit as an alternative to plain VNC
Screen Sharing enabled on the target Mac, Docker Desktop on the machine running the client, and three environment variables — MACOS_USERNAME, MACOS_PASSWORD and MACOS_HOST — passed to the container image buryhuang/mcp-remote-macos-use. Only Apple Authentication protocol 30 is supported.
One command plus a key — docker run -i -e MACOS_USERNAME=your_macos_username -e MACOS_PASSWORD=your_macos_password -e MACOS_HOST=your_macos_hostname_or_ip --rm buryhuang/mcp-remote-macos-use:latest, then supply credentials
