Remote macOS Use

Un servidor MCP de código abierto que permite a la IA controlar completamente un sistema macOS remoto.

Documentación

MCP Server - Remote MacOs Use

El primer servidor MCP de código abierto que permite a la IA controlar completamente sistemas macOS remotos.

Una alternativa directa a OpenAI Operator, optimizada específicamente para agentes de IA autónomos con capacidades completas de escritorio, sin requerir instalación de software adicional.

Docker Pulls License: MIT

Demostraciones

  • Investigar Twitter y publicar en Twitter (https://www.youtube.com/watch?v=--QHz2jcvcs)

    image
  • Usar CapCut para crear videos cortos destacados (https://www.youtube.com/watch?v=RKAqiNoU8ec)

    image
  • Reclutador de IA: recopilación automatizada de información de candidatos, calificación de solicitudes y envío de sesiones de selección usando la aplicación Mail

  • Pasante de marketing de IA: interacción en LinkedIn: seguimiento, me gusta y comentarios automatizados con usuarios relevantes

  • Pasante de marketing de IA: interacción en Twitter: seguimiento, me gusta y comentarios automatizados con usuarios relevantes

Lista de tareas pendientes (priorizadas)

  1. Optimización del rendimiento - Igualar la velocidad de las alternativas de escritorio Ubuntu
  2. Generación de Apple Scripts - Reducir el tiempo de ejecución manteniendo la flexibilidad
  3. Visibilidad del cursor VNC - Mejorar la experiencia de depuración y demostración

¡Aceptamos contribuciones!

Características

  • Sin costos adicionales de API: Procesamiento de pantalla gratuito con tu plan existente de Claude Pro
  • Configuración mínima: Solo activa Compartir pantalla en la Mac de destino: no se necesita software adicional
  • Compatibilidad universal: Funciona con todas las versiones de macOS, actuales y futuras

Por qué construimos esto

Experiencia macOS nativa sin concesiones

El ecosistema nativo de macOS sigue siendo incomparable en experiencia de usuario hoy en día y continuará siendo el estándar de oro durante años. Aquí es donde las capacidades humanas realmente prosperan, y ahora tu IA puede operar en este entorno con la misma fluidez.

Arquitectura abierta por diseño

  • Compatibilidad universal con LLM: Trabaja con cualquier cliente MCP de tu elección
  • Flexibilidad de modelos: Integración perfecta con OpenAI, Anthropic o cualquier otro proveedor de LLM
  • Integración preparada para el futuro: Diseñada para evolucionar con el ecosistema MCP

Implementación sin esfuerzo

  • Configuración cero en máquinas de destino: No se necesitan aplicaciones en segundo plano ni agentes en macOS
  • Compartir pantalla es todo lo que necesitas: Controla cualquier Mac con Compartir pantalla activado
  • Elimina la complejidad del backend: A diferencia de otras soluciones que requieren ejecutar aplicaciones Python o servicios en segundo plano

Proceso de arranque simplificado

  • Aprovecha la interfaz pulida de Claude Desktop: No hay necesidad de interfaces Python estilo desarrollador
  • Experiencia de usuario intuitiva: Interactúa con tu Mac controlada por IA a través de una interfaz familiar y fácil de usar
  • Productividad instantánea: Comienza a trabajar de inmediato sin complicaciones de configuración

Arquitectura

remote_macos_use_system_architecture

Instalación

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

Soporte WebRTC mediante LiveKit

Este servidor ahora incluye soporte WebRTC mediante la integración con LiveKit, lo que permite:

  • Compartir pantalla en tiempo real con baja latencia
  • Rendimiento y capacidad de respuesta mejorados
  • Mejor eficiencia de red en comparación con VNC tradicional
  • Adaptación automática de calidad según las condiciones de la red

Para usar las funciones de WebRTC, necesitarás:

  1. Configurar un servidor LiveKit o usar LiveKit Cloud
  2. Configurar las variables de entorno de LiveKit como se muestra en el ejemplo de configuración anterior

Instrucciones para desarrolladores

Clonar el repositorio

# Clone the repository
git clone https://github.com/yourusername/mcp-remote-macos-use.git
cd mcp-remote-macos-use

Construir la imagen de Docker

# Build the Docker image
docker build -t mcp-remote-macos-use .

Publicación multiplataforma

Para publicar la imagen de Docker para múltiples plataformas, puedes usar el comando docker buildx. Sigue estos pasos:

  1. Crea una nueva instancia de builder (si aún no lo has hecho):

    docker buildx create --use
    
  2. Construye y envía la imagen para múltiples plataformas:

    docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push .
    
  3. Verifica que la imagen esté disponible para las plataformas especificadas:

    docker buildx imagetools inspect buryhuang/mcp-remote-macos-use:latest
    

Uso

El servidor proporciona funcionalidad de macOS remoto a través de herramientas MCP.

Especificaciones de herramientas

El servidor proporciona las siguientes herramientas para el control remoto de macOS:

remote_macos_get_screen

Conéctate a una máquina macOS remota y obtén una captura de pantalla del escritorio remoto. Usa variables de entorno para los detalles de conexión.

remote_macos_send_keys

Envía entrada de teclado a una máquina macOS remota. Usa variables de entorno para los detalles de conexión.

remote_macos_mouse_move

Mueve el cursor del mouse a coordenadas específicas en una máquina macOS remota, con escalado automático de coordenadas. Usa variables de entorno para los detalles de conexión.

remote_macos_mouse_click

Realiza un clic de mouse en coordenadas específicas en una máquina macOS remota, con escalado automático de coordenadas. Usa variables de entorno para los detalles de conexión.

remote_macos_mouse_double_click

Realiza un doble clic de mouse en coordenadas específicas en una máquina macOS remota, con escalado automático de coordenadas. Usa variables de entorno para los detalles de conexión.

remote_macos_mouse_scroll

Realiza un desplazamiento de mouse en coordenadas específicas en una máquina macOS remota, con escalado automático de coordenadas. Usa variables de entorno para los detalles de conexión.

remote_macos_open_application

Abre/activa una aplicación y devuelve su PID para interacciones posteriores.

remote_macos_mouse_drag_n_drop

Realiza una operación de arrastrar y soltar desde el punto inicial hasta el punto final en una máquina macOS remota, con escalado automático de coordenadas.

Todas las herramientas usan las variables de entorno configuradas durante la instalación en lugar de requerir parámetros de conexión.

Limitaciones

  • Soporte de autenticación:
    • Solo se admite la autenticación de Apple (protocolo 30)

Nota de seguridad

https://support.apple.com/guide/remote-desktop/encrypt-network-data-apdfe8e386b/mac https://cafbit.com/post/apple_remote_desktop_quirks/

Solo admitimos el protocolo 30, que utiliza el protocolo de acuerdo de claves Diffie-Hellman con un primo de 512 bits. Este protocolo es utilizado por macOS 11 a macOS 12 cuando se comunica con clientes OS X 10.11 o anteriores.

Aquí está la información convertida a una tabla de markdown:

Versión de macOS que ejecuta Remote DesktopVersión del cliente macOSAutenticaciónControl y observaciónCopiar elementos o instalar paqueteTodas las demás tareasVersión del protocolo
macOS 13macOS 13Claves de host RSA de 2048 bitsClaves de host RSA de 2048 bitsClaves de host RSA de 2048 bits para autenticar, luego AES de 128 bitsClaves de host RSA de 2048 bits36
macOS 13macOS 10.12Protocolo Secure Remote Password (SRP) solo para local. Diffie-Hellman (DH) si está vinculado a LDAP o el servidor macOS es versión 10.11 o anteriorSRP o DH, AES de 128 bitsSRP o DH para autenticar, luego AES de 128 bitsClaves de host RSA de 2048 bits35
macOS 11 a macOS 12macOS 10.12 a macOS 13Protocolo Secure Remote Password (SRP) solo para local, Diffie-Hellman si está vinculado a LDAPSRP o DH de 1024 bits, AES de 128 bitsClaves de host RSA de 2048 bits macOS 13 a macOS 10.13Claves de host RSA de 2048 bits macOS 10.13 o posterior33
macOS 11 a macOS 12OS X 10.11 o anteriorDH de 1024 bitsDH de 1024 bits, AES de 128 bitsProtocolo de acuerdo de claves Diffie-Hellman con un primo de 512 bitsProtocolo de acuerdo de claves Diffie-Hellman con un primo de 512 bits30

Utiliza siempre conexiones seguras y autenticadas al acceder a máquinas macOS remotas. Esta herramienta solo debe usarse con servidores en los que confíes y tengas permiso para acceder.

Licencia

Consulta el archivo LICENSE para obtener más detalles.