macos-computer-use
🍏 macOS Computer Use (MCP Server)
Un servidor Model Context Protocol (MCP) ultrarrápido y nativo que brinda a los LLM y agentes autónomos capacidades completas de inspección visual y automatización de escritorio en macOS sin secuestrar el enfoque de tu ratón físico o teclado.
Construido con un núcleo Swift compilado que aprovecha los CoreGraphics nativos de Apple, Vision OCR (VNRecognizeTextRequest) y el enrutamiento directo de eventos a nivel de proceso (CGEvent.postToPid).
⚡ Características principales
🎯 Apple Vision OCR en menos de 30 ms (
find_text/click_text): Sin adivinación ciega de coordenadas $(x, y)$. El agente encuentra botones, etiquetas y marcadores de texto por nombre con precisión de píxel usando la aceleración del Apple Neural Engine.🛡️ Ejecución en segundo plano no intrusiva: Desacoplado de los taps de eventos de hardware globales de macOS. Los clics, desplazamientos y pulsaciones de teclas pueden dirigirse directamente a PIDs de aplicaciones específicas mientras sigues trabajando en tu IDE o navegador.
👁️ Superposición de cursor virtual (
mark_cursor): Las coordenadas objetivo del agente se dibujan visualmente en los fotogramas de la captura de pantalla (anillo objetivo cian + punto de pulso magenta) sin mover tu ratón físico en la pantalla.⚡ Sincronización reactiva de la interfaz de usuario (
wait_for_text): Reemplaza los tiempos de espera ciegos desleep()con un bucle de sondeo OCR de alta velocidad que se resuelve en el instante en que aparecen los menús desplegables de autocompletado dinámicos, modales o cambios de estado.🖼️ Captura de pantalla aislada por ventana: Captura los búferes de la aplicación objetivo limpiamente en segundo plano (
screencapture -l <wid> -o -x) sin traer la ventana al frente ni capturar ventanas superpuestas.
🛠️ Herramientas expuestas
Herramienta | Descripción | Parámetros clave |
| Encuentra cualquier botón, etiqueta o texto de interfaz mediante Apple Vision OCR y hace clic suavemente en su centro exacto. |
|
| Inspecciona el texto en pantalla o específico de una ventana y devuelve cuadros delimitadores exactos y coordenadas lógicas. |
|
| Sondea reactivamente la ventana/pantalla objetivo hasta que aparece el texto esperado (menús desplegables de autocompletado, notificaciones toast, hojas modales). |
|
| Captura la pantalla completa o una ventana específica de una aplicación en segundo plano con renderizado opcional de cursor virtual. |
|
| Enumera las ventanas abiertas de las aplicaciones, los IDs de proceso ( |
|
| Hace clic en puntos lógicos |
|
| Desliza suavemente el cursor del ratón hasta las coordenadas |
|
| Arrastra suavemente el ratón desde |
|
| Inyecta texto plano en los campos de entrada activos (o directamente en las colas del proceso objetivo). |
|
| Pulsa teclas especiales o atajos de teclado con modificadores. |
|
| Desplaza la rueda del ratón vertical y horizontalmente. |
|
| Lanza o trae al frente una aplicación de macOS. |
|
| Devuelve el nombre de la aplicación activa en primer plano y el título de la ventana. | Ninguno |
| Ejecuta AppleScript personalizado para una inspección profunda de la Accesibilidad de macOS y la jerarquía de la interfaz de usuario. |
|
🚀 Instalación y configuración
1. Requisitos previos
macOS 13.0+ (Apple Silicon o Intel)
Node.js 18+
Xcode Command Line Tools (para compilar el binario nativo de Swift):
xcode-select --install2. Clonar y compilar
git clone https://github.com/johnexzy/macos-computer-use.git
cd macos-computer-use
npm install(El script postinstall compila automáticamente native_helper.swift en un binario nativo optimizado).
🔒 Permisos requeridos de macOS
Para permitir la captura de escritorio y la simulación de entrada, concede a tu aplicación anfitriona (Terminal, iTerm2, Antigravity, Cursor o VS Code) permisos en System Settings > Privacidad y seguridad:
Grabación de pantalla y audio del sistema: Requerida para
screenshoty OCR visual.Accesibilidad: Requerida para
mouse_click,type_textypress_key.
🔌 Configuración de MCP
Añade este servidor a la configuración de tu cliente MCP:
Antigravity / Claude Desktop / Cursor / Windsurf
Añádelo a tu mcp_config.json / claude_desktop_config.json:
{
"mcpServers": {
"macos-computer-use": {
"command": "node",
"args": ["/absolute/path/to/macos-computer-use/server.mjs"]
}
}
}🧪 Probando el Helper nativo de Swift directamente
Puedes probar el binario nativo directamente desde tu terminal:
# Display resolution and scaling
./native_helper size
# List active Chrome windows in Z-order
./native_helper list_windows "Google Chrome"
# Find a button or text on screen with Apple Vision OCR in ~30ms
./native_helper find_text "Search" "Google Chrome"
# Reactively wait for dynamic text to appear
./native_helper wait_for_text "quantum" "Google Chrome" nil 5.0📄 Licencia
MIT © John Oba
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnexzy/macos-computer-use'
If you have feedback or need assistance with the MCP directory API, please join our Discord server