macOS-MCP
MCP-сервер управления рабочим столом macOS через Accessibility API: клики, ввод, окна, приложения, команды и AppleScript
- 240 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент кликает, печатает и выполняет команды оболочки и AppleScript с правами вашей учетной записи
- Разрешения Accessibility и Screen Recording дают серверу контроль над экраном и приложениями
Установка
- Работает в
Ручная установка
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-сервер на Swift дает агенту управлять любым приложением macOS: кликать, печатать и читать дерево интерфейса
MCP-сервер для AppleScript: агент запускает скрипты и управляет приложениями Mac, от заметок и календаря до файлов
MCP-сервер дает агенту видеть экран и управлять macOS, Windows и Linux: скриншоты, клики, ввод, OCR и память экрана
CLI и MCP-сервер для macOS: скриншоты, разбор интерфейса через accessibility и управление приложениями по кликам и вводу
Open Computer Use
open-computer-use
Открытый MCP-сервер для управления рабочим столом: агент читает состояние приложений и кликает, печатает, скроллит на macOS, Linux и Windows
Коротко о README
Текст представляет сервер как мост между агентами и macOS: перечисляет поддерживаемые версии, особенности и установку. Затем идут разрешения, способы подключения к Claude Desktop и другим клиентам, таблица инструментов, ограничения, раздел безопасности с токеном, IP, TLS и OAuth, переменные окружения и телеметрия.