home / mcp / remote macos use mcp server

Remote MacOs Use MCP Server

The only general AI agent that does NOT requires extra API key, giving you full control on your local and remote MacOs from Claude Desktop App

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "baryhuang-mcp-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"
      ],
      "env": {
        "MACOS_HOST": "your_macos_hostname_or_ip",
        "MACOS_PASSWORD": "your_macos_password",
        "MACOS_USERNAME": "your_macos_username"
      }
    }
  }
}

You can control a remote macOS machine through a dedicated MCP server that runs via Docker. This setup lets you perform screen sharing, send keystrokes, move the mouse, open apps, and perform drag-and-drop operations from an MCP client with minimal local footprint and no extra backend software on the target Mac.

How to use

Connect your MCP client to the remote macOS server using the configured MCP entry. You will interact with the remote desktop by issuing high-level actions through the MCP client, such as capturing screenshots, sending keyboard input, moving the mouse, clicking, scrolling, launching applications, and performing drag-and-drop operations. All actions are mapped to the corresponding remote macOS controls and executed through the Docker-based MCP server instance.

How to install

Prerequisites: you need Docker Desktop installed on your local Mac. If you rent a macOS machine from a hosted provider, you can skip the initial screen-sharing setup on the target.

Step 1: Enable Screen Sharing on the target Mac (if not already enabled). Step 2: Ensure you can connect to the remote Mac from your local machine. Step 3: Install Docker Desktop on your local Mac.

Step 4: Add the MCP server configuration to your MCP client. Use the following configuration snippet in your client setup to run the MCP server via Docker.

{
  "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"
      ]
    }
  }
}

Additional setup notes

WebRTC support is available via LiveKit integration for low-latency real-time screen sharing. To use WebRTC features, you should set up a LiveKit server or use LiveKit Cloud and configure the environment variables accordingly.

Security note: Use secure, authenticated connections when accessing remote macOS machines. Only access servers you own or have explicit permission to control.

Security and limitations

Limitations include authentication support only for Apple Authentication (protocol 30). Always use secure connections and operate within permitted environments.

About the server and tools

This MCP server exposes a set of tools to interact with a remote macOS machine. Each tool uses the environment variables configured during setup for connection details.

Notes on deployment and cross-platform hosting

The server is designed for straightforward deployment with no background agents required on the target Mac. It leverages screen sharing as the primary mechanism for remote control and can be adapted to multiple macOS versions.

Available tools

remote_macos_get_screen

Connects to the remote Mac and retrieves a screenshot of the remote desktop.

remote_macos_send_keys

Sends keyboard input to the remote Mac for typing or command entry.

remote_macos_mouse_move

Moves the mouse cursor on the remote Mac with coordinate scaling.

remote_macos_mouse_click

Performs a mouse click at specified coordinates on the remote Mac.

remote_macos_mouse_double_click

Performs a double-click at specified coordinates on the remote Mac.

remote_macos_mouse_scroll

Scrolls the remote Mac screen at given coordinates.

remote_macos_open_application

Opens or activates an application on the remote Mac and returns its PID.

remote_macos_mouse_drag_n_drop

Drags an item from a start point to an end point on the remote Mac.