macos-computer-use
🍏 macOS Computer Use (MCP Server)
Сверхбыстрый нативный Model Context Protocol (MCP)-сервер, который предоставляет LLM и автономным агентам полную визуальную инспекцию и возможности автоматизации рабочего стола в macOS без перехвата вашей физической мыши или фокуса клавиатуры.
Создан на основе скомпилированного ядра Swift с использованием нативных CoreGraphics, Vision OCR (VNRecognizeTextRequest) от Apple и прямой маршрутизации событий на уровне процессов (CGEvent.postToPid).
⚡ Ключевые особенности
🎯 Apple Vision OCR со временем менее 30 мс (
find_text/click_text): Никаких слепых угадываний координат $(x, y)$. Агент находит кнопки, надписи и текстовые плейсхолдеры по имени с попиксельной точностью благодаря ускорению Apple Neural Engine.🛡️ Ненавязчивое фоновое выполнение: Отвязан от глобальных перехватчиков аппаратных событий macOS. Клики, прокрутка и нажатия клавиш могут направляться напрямую в конкретные PID приложений, пока вы продолжаете работать в своей IDE или браузере.
👁️ Оверлей виртуального курсора (
mark_cursor): Целевые координаты агента визуально отображаются на кадрах скриншота (голубое целевое кольцо + пульсирующая пурпурная точка) без перемещения вашей физической мыши на экране.⚡ Реактивная синхронизация интерфейса (
wait_for_text): Заменяет слепые таймаутыsleep()высокоскоростным циклом опроса OCR, который срабатывает сразу, как только появляются динамические выпадающие списки автодополнения, модальные окна или изменения состояния.🖼️ Захват экрана с изоляцией окна: Аккуратно захватывает буферы целевого приложения в фоне (
screencapture -l <wid> -o -x), не выводя окно на передний план и не захватывая перекрывающиеся окна.
🛠️ Доступные инструменты
Инструмент | Описание | Ключевые параметры |
| Находит любую кнопку, надпись или текст интерфейса с помощью Apple Vision OCR и плавно щёлкает по его точному центру. |
|
| Проверяет текст на экране или в конкретном окне и возвращает точные ограничивающие прямоугольники и логические координаты. |
|
| Реактивно опрашивает целевое окно/экран, пока не появится ожидаемый текст (выпадающие списки автодополнения, тосты, модальные окна). |
|
| Захватывает весь дисплей или конкретное фоновое окно приложения с возможной отрисовкой виртуального курсора. |
|
| Перечисляет открытые окна приложений, идентификаторы процессов ( |
|
| Выполняет клик по логическим точкам |
|
| Плавно перемещает курсор мыши к координатам |
|
| Плавно перетаскивает мышь из |
|
| Вводит обычный текст в активные поля ввода (или напрямую в очереди целевого процесса). |
|
| Нажимает специальные клавиши или сочетания клавиш с модификаторами. |
|
| Прокручивает колесо мыши по вертикали и горизонтали. |
|
| Запускает приложение macOS или выводит его на передний план. |
|
| Возвращает имя текущего активного приложения и заголовок его окна. | Нет |
| Выполняет пользовательский AppleScript для глубокого анализа специальных возможностей macOS и иерархии интерфейса. |
|
🚀 Установка и настройка
1. Предварительные требования
macOS 13.0+ (Apple Silicon или Intel)
Node.js 18+
Xcode Command Line Tools (для компиляции нативного Swift-бинарного файла):
xcode-select --install
2. Клонирование и сборка
git clone https://github.com/johnexzy/macos-computer-use.git
cd macos-computer-use
npm install(Скрипт postinstall автоматически компилирует native_helper.swift в оптимизированный нативный бинарный файл).
🔒 Требуемые разрешения macOS
Чтобы разрешить захват экрана и имитацию ввода, предоставьте вашему приложению-хосту (Terminal, iTerm2, Antigravity, Cursor или VS Code) разрешения в Системных настройках > Конфиденциальность и безопасность:
Запись экрана и системного звука: Требуется для
screenshotи визуального OCR.Специальные возможности: Требуется для
mouse_click,type_textиpress_key.
🔌 Конфигурация MCP
Добавьте этот сервер в конфигурацию вашего MCP-клиента:
Antigravity / Claude Desktop / Cursor / Windsurf
Добавьте в mcp_config.json / claude_desktop_config.json:
{
"mcpServers": {
"macos-computer-use": {
"command": "node",
"args": ["/absolute/path/to/macos-computer-use/server.mjs"]
}
}
}🧪 Тестирование нативного Swift-хелпера напрямую
Вы можете протестировать нативный бинарный файл прямо из терминала:
# 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📄 Лицензия
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