mcp remote macos use
The first open-source MCP server that enables AI to fully control remote macOS systems.
The first open-source MCP server that enables AI to fully control remote macOS systems.
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)
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"
]
}
}
}
# 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 four main tools for remote MacOS control:
Get a screenshot of the remote desktop. Example:
{
"host": "remote-macos-hostname-or-ip",
"port": 5900,
"password": "remote-macos-password",
"username": "remote-macos-username",
"encryption": "prefer_on"
}
Send keyboard input. Example:
{
"host": "remote-macos-hostname-or-ip",
"password": "remote-macos-password",
"text": "Hello world!",
"special_key": "enter",
"key_combination": "cmd+c"
}
Send mouse input. Example:
{
"host": "remote-macos-hostname-or-ip",
"password": "remote-macos-password",
"x": 500,
"y": 300,
"button": 1,
"action": "click"
}
Scale coordinates between different screen sizes. Example:
{
"host": "remote-macos-hostname-or-ip",
"password": "remote-macos-password",
"source_width": 1366,
"source_height": 768,
"x": 500,
"y": 300
}
All tools support Apple Authentication (protocol 30) and require at minimum a host and password.
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.