by baryhuang
Enables AI agents to fully control remote macOS machines via screen sharing, using a lightweight Docker‑based MCP server that requires no additional API keys or software installation on the target Mac.
Mcp Remote Macos Use provides an open‑source MCP server that lets autonomous AI agents interact with a remote macOS desktop. By leveraging the built‑in macOS Screen Sharing (VNC) and optional WebRTC via LiveKit, the server captures screen images, sends keyboard/mouse events, and launches applications without any extra client‑side agents.
{
"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"
]
}
}
}
remote_macos_get_screen
, remote_macos_mouse_click
, remote_macos_open_application
) from your AI agent's workflow.docker buildx
.Q: Do I need to install anything on the remote Mac? A: No. Enabling macOS Screen Sharing is sufficient; the server runs completely on your local Docker host.
Q: Which authentication protocols are supported? A: Only Apple Authentication protocol 30 (Diffie‑Hellman with a 512‑bit prime) is implemented.
Q: Can I use WebRTC instead of VNC? A: Yes. Set up a LiveKit server (or use LiveKit Cloud) and provide the required LiveKit environment variables in the Docker run command.
Q: Is this compatible with other LLM providers? A: The MCP server is LLM‑agnostic; any client that follows the Model Context Protocol can interact with it.
Q: How do I publish the image for multiple architectures? A: Use Docker Buildx:
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push .
The first open-source MCP server that enables AI to fully control remote macOS systems.
A direct alternative to OpenAI Operator, optimized specifically for autonomous AI agents with complete desktop capabilities, requiring no additional software installation.
Showcases
Research Twitter and Post Twitter(https://www.youtube.com/watch?v=--QHz2jcvcs)
Use CapCut to create short highlight video(https://www.youtube.com/watch?v=RKAqiNoU8ec)
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
We welcome contributions!
The macOS native ecosystem remains unmatched in user experience today and will continue to be the gold standard for years to come. This is where human capabilities truly thrive, and now your AI can operate in this environment with the same fluency.
{
"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"
]
}
}
}
This server now includes WebRTC support through LiveKit integration, enabling:
To use WebRTC features, you'll need to:
# Clone the repository
git clone https://github.com/yourusername/mcp-remote-macos-use.git
cd mcp-remote-macos-use
# Build the Docker image
docker build -t mcp-remote-macos-use .
To publish the Docker image for multiple platforms, you can use the docker buildx
command. Follow these steps:
Create a new builder instance (if you haven't already):
docker buildx create --use
Build and push the image for multiple platforms:
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push .
Verify the image is available for the specified platforms:
docker buildx imagetools inspect buryhuang/mcp-remote-macos-use:latest
The server provides Remote MacOs functionality through MCP tools.
The server provides the following tools for remote macOS control:
Connect to a remote macOS machine and get a screenshot of the remote desktop. Uses environment variables for connection details.
Send keyboard input to a remote macOS machine. Uses environment variables for connection details.
Move the mouse cursor to specified coordinates on a remote macOS machine, with automatic coordinate scaling. Uses environment variables for connection details.
Perform a mouse click at specified coordinates on a remote macOS machine, with automatic coordinate scaling. Uses environment variables for connection details.
Perform a mouse double-click at specified coordinates on a remote macOS machine, with automatic coordinate scaling. Uses environment variables for connection details.
Perform a mouse scroll at specified coordinates on a remote macOS machine, with automatic coordinate scaling. Uses environment variables for connection details.
Opens/activates an application and returns its PID for further interactions.
Perform a mouse drag operation from start point and drop to end point on a remote macOS machine, with automatic coordinate scaling.
All tools use the environment variables configured during setup instead of requiring connection parameters.
https://support.apple.com/guide/remote-desktop/encrypt-network-data-apdfe8e386b/mac https://cafbit.com/post/apple_remote_desktop_quirks/
We only support protocol 30, which uses the Diffie-Hellman key agreement protocol with a 512-bit prime. This protocol is used by macOS 11 to macOS 12 when communicating with OS X 10.11 or earlier clients.
Here's the information converted to a markdown table:
macOS version running Remote Desktop | macOS client version | Authentication | Control and Observe | Copy items or install package | All other tasks | Protocol Version |
---|---|---|---|---|---|---|
macOS 13 | macOS 13 | 2048-bit RSA host keys | 2048-bit RSA host keys | 2048-bit RSA host keys to authenticate, then 128-bit AES | 2048-bit RSA host keys | 36 |
macOS 13 | macOS 10.12 | Secure Remote Password (SRP) protocol for local only. Diffie-Hellman (DH) if bound to LDAP or macOS server is version 10.11 or earlier | SRP or DH,128-bit AES | SRP or DH to authenticate, then 128-bit AES | 2048-bit RSA host keys | 35 |
macOS 11 to macOS 12 | macOS 10.12 to macOS 13 | Secure Remote Password (SRP) protocol for local only, Diffie-Hellman if bound to LDAP | SRP or DH 1024-bit, 128-bit AES | 2048-bit RSA host keys macOS 13 to macOS 10.13 | 2048-bit RSA host keys macOS 10.13 or later | 33 |
macOS 11 to macOS 12 | OS X 10.11 or earlier | DH 1024-bit | DH 1024-bit, 128-bit AES | Diffie-Hellman Key agreement protocol with a 512-bit prime | Diffie-Hellman Key agreement protocol with a 512-bit prime | 30 |
Always use secure, authenticated connections when accessing remote remote MacOs machines. This tool should only be used with servers you trust and have permission to access.
See the LICENSE file for details.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.
by danny-avila
Provides a self‑hosted ChatGPT‑style interface supporting numerous AI models, agents, code interpreter, image generation, multimodal interactions, and secure multi‑user authentication.
by block
Automates engineering tasks on local machines, executing code, building projects, debugging, orchestrating workflows, and interacting with external APIs using any LLM.
by RooCodeInc
Provides an autonomous AI coding partner inside the editor that can understand natural language, manipulate files, run commands, browse the web, and be customized via modes and instructions.
by pydantic
A Python framework that enables seamless integration of Pydantic validation with large language models, providing type‑safe agent construction, dependency injection, and structured output handling.
by lastmile-ai
Build effective agents using Model Context Protocol and simple, composable workflow patterns.
by mcp-use
A Python SDK that simplifies interaction with MCP servers and enables developers to create custom agents with tool‑calling capabilities.
by nanbingxyz
A cross‑platform desktop AI assistant that connects to major LLM providers, supports a local knowledge base, and enables tool integration via MCP servers.
by gptme
Provides a personal AI assistant that runs directly in the terminal, capable of executing code, manipulating files, browsing the web, using vision, and interfacing with various LLM providers.