macOS-MCP

MCP-сервер управления рабочим столом macOS через Accessibility API: клики, ввод, окна, приложения, команды и AppleScript

  • 240 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Агент кликает, печатает и выполняет команды оболочки и AppleScript с правами вашей учетной записи
  • Разрешения Accessibility и Screen Recording дают серверу контроль над экраном и приложениями
Все причины и проверки

cursortouch/macos-mcp

Установка

Ручная установка

claude mcp add macos-mcp -- uvx macos-mcp serve

Сначала выдайте разрешения Accessibility и Screen Recording.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент кликает, печатает и выполняет команды оболочки и AppleScript с правами вашей учетной записи
  • Разрешения Accessibility и Screen Recording дают серверу контроль над экраном и приложениями

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

macOS-MCP связывает агента с операционной системой Mac: открывает приложения, управляет окнами, кликает, печатает, листает и нажимает сочетания клавиш. Он работает через Accessibility API и не требует компьютерного зрения или специально дообученной модели, подходит любой LLM, а зрение только дополняет работу. Инструменты: `Click`, `Type`, `Scroll`, `Move`, `Shortcut`, `App` для запуска, смены и размеров окон, `Desktop` для создания новых пространств Mission Control, `Shell` для команд и AppleScript (`mode='osascript'`), `Scrape` для преобразования страницы в Markdown и `Wait`. Сервер определяет состояние Launchpad, Control Center и Spotlight, а также читает строку меню, Dock и рабочий стол. Запускается через `uvx macos-mcp serve` по stdio, SSE или Streamable HTTP, а `macos-mcp install` ставит его фоновой службой launchd.

Для кого. Разработчикам и тестировщикам на Mac, которым нужно, чтобы агент нажимал кнопки в обычных приложениях, где нет API и командной строки.

Подходит, если

  • Нужно повторить действие в приложении без API: открыть окно, нажать пункт меню и ввести текст
  • Агент переключается между приложениями, раскладывает окна и сверяет, что на экране
  • Страницу из браузера нужно получить в виде Markdown, чтобы разобрать ее текст
  • Автоматизацию через AppleScript запускают из диалога вместо ручного редактора скриптов

Не подходит, если

  • У приложения есть API или командная строка: вызов напрямую надежнее кликов по экрану
  • Нужно взаимодействовать с системным диалогом аутентификации: сервер не может его управлять
  • Компьютер с важными данными без присмотра: сервер выполняет команды оболочки и клики от вашего имени

Пример запроса к агенту

Открой приложение Заметки, создай новую заметку со списком покупок и сделай скриншот окна, чтобы проверить результат

MCP

Транспорт
stdio, http, sse
Авторизация
ключ необязателен

Переменные окружения

ANONYMIZED_TELEMETRY
Значение false отключает анонимную телеметрию
MACOS_MCP_AUTH_KEY секрет
Токен Bearer для HTTP-запросов

Ограничения

Нужны macOS 12 или новее, Python 3.11 и `uv`, а также разрешения Accessibility и Screen Recording, которые выдают вручную в настройках. Некоторые приложения слабо поддерживают Accessibility API, а сложные интерфейсы с множеством элементов обходятся медленнее. Часть полей ввода может не принять нажатия. Системные диалоги аутентификации недоступны. Сервер собирает анонимную телеметрию использования без аргументов и результатов, ее отключают переменной `ANONYMIZED_TELEMETRY=false`. Для сетевого режима есть ключ `--auth-key`, список разрешенных IP и TLS.

Как отключить. Удалите блок macos-mcp из конфигурации клиента, выполните `macos-mcp uninstall`, если ставили службу launchd, и снимите разрешения Accessibility и Screen Recording в настройках macOS.

Частые вопросы

Как подключить macOS-MCP к Claude Code?

Выдайте разрешения Accessibility и Screen Recording и выполните `claude mcp add macos-mcp -- uvx macos-mcp serve`. Нужны Python 3.11 и `uv`.

Какие версии macOS поддерживаются?

macOS 12 Monterey, 13 Ventura, 14 Sonoma, 15 Sequoia и 26 Tahoe.

Как запустить сервер как службу?

Командой `macos-mcp install`: она создает Launch Agent `~/Library/LaunchAgents/com.macos-mcp.server.plist`. Транспорт и адрес задаются флагами, например `--transport sse --host 127.0.0.1 --port 8000`. Удаляется службой `macos-mcp uninstall`.

Как защитить сетевой режим?

Флагом `--auth-key` для заголовка Bearer, списком `MACOS_MCP_IP_ALLOWLIST`, TLS через `MACOS_MCP_SSL_CERTFILE` и `MACOS_MCP_SSL_KEYFILE`, а также OAuth 2.0 с PKCE.

Нужна ли модель с компьютерным зрением?

Нет, сервер читает дерево Accessibility и работает с любой LLM. Скриншоты по желанию добавляют зрение.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер для macOS: агент двигает мышь, печатает, управляет окнами и снимает экран, когда у приложения нет API

MCP-серверШирокий доступ415Звезды репозитория

MCP-сервер на Swift дает агенту управлять любым приложением macOS: кликать, печатать и читать дерево интерфейса

MCP-серверШирокий доступ358Звезды репозитория

MCP-сервер для AppleScript: агент запускает скрипты и управляет приложениями Mac, от заметок и календаря до файлов

MCP-серверШирокий доступ468Звезды репозитория
Официальный

MCP-сервер дает агенту видеть экран и управлять macOS, Windows и Linux: скриншоты, клики, ввод, OCR и память экрана

MCP-серверШирокий доступ92Звезды репозитория

CLI и MCP-сервер для macOS: скриншоты, разбор интерфейса через accessibility и управление приложениями по кликам и вводу

MCP-серверШирокий доступ5,5 тыс.Звезды репозитория

Open Computer Use

open-computer-use

Открытый MCP-сервер для управления рабочим столом: агент читает состояние приложений и кликает, печатает, скроллит на macOS, Linux и Windows

MCP-серверШирокий доступ2,9 тыс.Звезды репозитория

Коротко о README

Текст представляет сервер как мост между агентами и macOS: перечисляет поддерживаемые версии, особенности и установку. Затем идут разрешения, способы подключения к Claude Desktop и другим клиентам, таблица инструментов, ограничения, раздел безопасности с токеном, IP, TLS и OAuth, переменные окружения и телеметрия.

Бейдж для README

Сообщить о проблеме