Control Remote macOS Desktops with AI
Open-source MCP server that fully controls a remote macOS machine over Screen Sharing, no agent software required on the target.
Why it matters
Enable AI to fully control remote macOS systems via screen sharing, offering a direct alternative to OpenAI Operator with complete desktop capabilities.
Outcomes
What it gets done
Capture screenshots of remote macOS desktops.
Send keyboard and mouse inputs to remote macOS machines.
Open applications and interact with the macOS GUI.
Automate tasks like social media engagement and content creation.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-computer-use-remote-macos-use | bash Capabilities
Tools your agent gets
Captures a screenshot of the remote macOS desktop
Sends keyboard input to a remote macOS machine
Moves the mouse cursor to specified coordinates on a remote macOS machine
Performs a mouse click at specified coordinates on a remote macOS machine
Performs a double-click at specified coordinates on a remote macOS machine
Performs mouse scrolling at specified coordinates on a remote macOS machine
Opens/activates an application and returns its PID for further interactions
Performs a mouse drag-and-drop operation from start to end point on remote macOS
Overview
Computer-Use - Remote macOS Use MCP Server
This MCP server drives a remote Mac's full desktop through its built-in Screen Sharing feature, giving an AI mouse, keyboard, and application control without installing any agent on the target machine. Use it to automate macOS-specific desktop workflows on a remote machine. It requires Screen Sharing enabled with Apple Authentication and, for smooth real-time performance, a configured LiveKit server.
What it does
Remote MacOS Use is an open-source MCP server that lets an AI fully control remote macOS systems through screen sharing, positioned as a direct alternative to OpenAI Operator with complete desktop capabilities. It works by connecting to the target Mac's built-in Screen Sharing feature - no background app or agent needs to be installed on the target machine - and it uses your existing Claude Pro plan's screen processing rather than a separate paid API. It supports WebRTC via LiveKit for low-latency, real-time screen demonstration with automatic quality adaptation to network conditions, and it works with any MCP client and any LLM provider (OpenAI, Anthropic, or others).
When to use - and when NOT to
Use this when an AI agent needs to operate a remote Mac's full desktop - opening applications, navigating the UI, filling forms, or automating multi-step workflows - as if it were a human sitting at that machine. Example use cases include researching and posting to Twitter, using CapCut to create a highlight video, or running an automated recruiter workflow that collects candidate info and sends screening sessions via Mail. It requires Screen Sharing enabled on the target macOS machine and only supports Apple Authentication (protocol 30); it is not a solution for controlling non-macOS remote systems, and real-time WebRTC performance requires configuring a LiveKit server.
Capabilities
remote_macos_get_screen- connects to the remote Mac and captures a screenshot of its desktopremote_macos_send_keys- sends keyboard input to the remote machineremote_macos_mouse_move- moves the mouse cursor to specified coordinates, with automatic coordinate scalingremote_macos_mouse_click/remote_macos_mouse_double_click- clicks or double-clicks at specified coordinatesremote_macos_mouse_scroll- scrolls at specified coordinatesremote_macos_open_application- opens/activates an application and returns its PID for further interactionremote_macos_mouse_drag_n_drop- drags from a start point to an end point
Security note: the connection uses Diffie-Hellman key negotiation with a 512-bit prime for the Apple screen-sharing protocol.
How to install
Via Docker:
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
Claude Desktop configuration:
{
"mcpServers": {
"remote-macos-use": {
"command": "docker",
"args": ["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"]
}
}
}
Required environment variables: MACOS_USERNAME, MACOS_PASSWORD, MACOS_HOST.
Who it's for
Developers and teams automating macOS-specific workflows - social media management, video editing via desktop apps, recruiting pipelines, marketing engagement - who want an AI to drive the full desktop of a remote Mac without installing any agent software on it.
Source README
The first open-source MCP server that enables AI to fully control remote macOS systems through screen sharing, providing a direct alternative to OpenAI Operator with complete desktop capabilities.
Installation
Docker
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
From Source
git clone https://github.com/yourusername/mcp-remote-macos-use.git
cd mcp-remote-macos-use
docker build -t mcp-remote-macos-use .
Cross-Platform Publishing
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push .
Configuration
Claude Desktop
{
"mcpServers": {
"remote-macos-use": {
"command": "docker",
"args": [
"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"
]
}
}
}
Available Tools
| Tool | Description |
|---|---|
remote_macos_get_screen |
Connects to a remote macOS machine and captures a screenshot of the remote desktop |
remote_macos_send_keys |
Sends keyboard input to a remote macOS machine |
remote_macos_mouse_move |
Moves the mouse cursor to specified coordinates on a remote macOS machine with automatic coordinate... |
remote_macos_mouse_click |
Performs a mouse click at specified coordinates on a remote macOS machine with automatic coordinate... |
remote_macos_mouse_double_click |
Performs a double-click at specified coordinates on a remote macOS machine with automatic coordin... |
remote_macos_mouse_scroll |
Performs mouse scrolling at specified coordinates on a remote macOS machine with automatic coordin... |
remote_macos_open_application |
Opens/activates an application and returns its PID for further interactions |
remote_macos_mouse_drag_n_drop |
Performs a mouse drag-and-drop operation from a start point to an end point on a remote macOS machine... |
Features
- No additional API costs: Free screen processing with your existing Claude Pro plan
- Minimal setup: Simply enable Screen Sharing on the target Mac - no additional software required
- Universal compatibility: Works with all macOS versions, current and future
- LLM-agnostic: Works with any MCP client of your choice
- Model flexibility: Seamless integration with OpenAI, Anthropic, or any other LLM provider
- Zero setup on target machines: No background applications or agents required on macOS
- WebRTC support via LiveKit: Real-time screen sharing with low latency and improved performance
- Automatic quality adaptation based on network conditions
Environment Variables
Required
MACOS_USERNAME- Username for the remote macOS machineMACOS_PASSWORD- Password for the remote macOS machineMACOS_HOST- Hostname or IP address of the remote macOS machine
Usage Examples
Research Twitter and Post Twitter
Use CapCut to create short highlight video
AI Recruiter: Automated candidate information collection, qualifying applications and sending screening sessions using Mail App
AI Marketing Intern: LinkedIn engagement - automated following, liking, and commenting with relevant users
AI Marketing Intern: Twitter engagement - automated following, liking, and commenting with relevant users
Resources
Notes
Requires Screen Sharing to be enabled on the target macOS machine. Supports Apple Authentication only (protocol 30). Uses Diffie-Hellman key negotiation protocol with a 512-bit prime number for security. WebRTC support requires LiveKit server configuration for enhanced performance.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.