Skip to main content
Glama

⚠️ АРХИВИРОВАНО

23 марта 2026 года компания Anthropic объявила, что Claude теперь может автоматически управлять рабочим столом, см.: Put Claude to work on your computer

В Claude Cowork и Claude Code теперь можно разрешить Claude использовать ваш компьютер для выполнения задач. Когда у Claude нет доступа к нужным инструментам, он будет указывать, нажимать и перемещаться по экрану, чтобы выполнить задачу самостоятельно. Он может открывать файлы, использовать браузер и запускать инструменты разработки автоматически — без какой-либо настройки.

Теперь этот репозиторий избыточен, так как это можно сделать через их собственное приложение, вероятно, гораздо более безопасным способом, хотя, очевидно, его все равно следует использовать с большой осторожностью. Поэтому я архивирую этот проект. Он может быть полезен либо как «комар в янтаре» — снимок времени, в которое он был создан, либо как вдохновение для других оркестраторов для различных инструментальных фреймворков.


Раскрытие информации: Этот проект был разработан с использованием Claude Code, ИИ-помощника по программированию от Anthropic, в рамках экспериментального подхода «vibe coding» к быстрому прототипированию и разработке.

AutoMac MCP

MCP-сервер, предназначенный для локального запуска, который обеспечивает полный контроль над пользовательским интерфейсом вашей локальной ОС.

В настоящее время написан только для поддержки Mac.

⚠️ ПРЕДУПРЕЖДЕНИЕ: Это экспериментальный проект, который предоставляет ИИ-ассистенту прямой контроль над пользовательским интерфейсом вашей операционной системы. Это потенциально опасно и должно использоваться только в контролируемых средах в исследовательских целях. Проект разработан для проверки того, насколько эффективно LLM может использовать автоматизированные инструменты оркестрации пользовательского интерфейса, а не для промышленного использования.

Экспериментальный и предназначен для использования с Claude Desktop. Используйте функции подтверждения команд интеграции MCP-сервера, чтобы обеспечить безопасность!

📖 Посмотрите в действии: Пример автоматизированной покупки игры в Steam

Быстрый старт

  1. Установите зависимости:

    uv sync
  2. Добавьте в Claude Desktop — перейдите в Settings > Developer > Edit Config и добавьте следующее в ваш файл claude_desktop_config.json (не используйте fastmcp install, так как он ненадежно работает с проектами на базе uv):

    {
      "mcpServers": {
        "automac-mcp": {
          "command": "/path/to/automac-mcp/.venv/bin/python",
          "args": ["/path/to/automac-mcp/automac_mcp.py"]
        }
      }
    }
  3. Предоставьте разрешения macOS — включите разрешения «Специальные возможности» (Accessibility) и «Запись экрана» (Screen Recording) для вашего терминала в System Settings > Privacy & Security.

  4. Перезапустите Claude Desktop и начните автоматизировать свой интерфейс macOS!

Для достижения наилучших результатов включите «Увеличить контрастность» (Increase contrast) в System Preferences > Accessibility > Display

Разрешения и первоначальная настройка

Чтобы использовать AutoMac MCP, вам необходимо предоставить разрешения специальных возможностей вашему терминалу или интерпретатору Python:

  1. Предоставление первоначальных разрешений macOS

    • Перейдите в System Settings > Privacy & Security

    • Добавьте ваш терминал (Terminal.app, iTerm2 и т. д.) в Accessibility и Screen Recording

    • Перезапустите терминал после предоставления разрешений

  2. Настройка разрешений инструментов для полной автоматизации

    ⚠️ Для экспериментальной полной автоматизации: Когда Claude впервые попытается использовать какой-либо инструмент, вы увидите запросы на разрешение. Чтобы включить бесшовную автоматизацию, выберите «Всегда разрешать в будущем» (Always allow in future) для каждого инструмента.

    Это рискованно — это дает ИИ полный контроль над вашим интерфейсом без запросов на подтверждение. Делайте это только в контролируемой среде в исследовательских целях и всегда внимательно следите за действиями ИИ.

    Этот экспериментальный подход проверяет текущее состояние технологий в области автоматизации ОС на базе LLM.

  3. Проверка настройки

    • Запустите MCP-сервер — теперь у него должен быть доступ к информации об окнах и захвату экрана

Примечание: Возможно, вам потребуется предоставить разрешения как вашему приложению терминала, так и интерпретатору Python отдельно, в зависимости от вашей настройки.

Команды MCP-сервера:

Управление вводом:

  • get_screen_size() — Получить размеры экрана

  • mouse_move(x, y) — Переместить указатель мыши к координатам

  • mouse_single_click(x, y) — Одиночный клик по координатам

  • mouse_double_click(x, y) — Двойной клик по координатам

  • type_text(text) — Ввести указанный текст

  • scroll(dx, dy) — Прокрутка с использованием значений дельты пикселей

Сочетания клавиш:

  • keyboard_shortcut_return_key() — Нажать клавишу Return/Enter

  • keyboard_shortcut_escape_key() — Нажать клавишу Escape

  • keyboard_shortcut_tab_key() — Нажать клавишу Tab

  • keyboard_shortcut_space_key() — Нажать клавишу Space

  • keyboard_shortcut_delete_key() — Нажать клавишу Delete/Backspace

  • keyboard_shortcut_forward_delete_key() — Нажать клавишу Forward Delete

  • keyboard_shortcut_arrow_up() — Нажать клавишу стрелки вверх

  • keyboard_shortcut_arrow_down() — Нажать клавишу стрелки вниз

  • keyboard_shortcut_arrow_left() — Нажать клавишу стрелки влево

  • keyboard_shortcut_arrow_right() — Нажать клавишу стрелки вправо

  • keyboard_shortcut_select_all() — Выбрать весь текст (Cmd+A)

  • keyboard_shortcut_copy() — Скопировать выбранное содержимое (Cmd+C)

  • keyboard_shortcut_paste() — Вставить из буфера обмена (Cmd+V)

  • keyboard_shortcut_cut() — Вырезать выбранное содержимое (Cmd+X)

  • keyboard_shortcut_undo() — Отменить последнее действие (Cmd+Z)

  • keyboard_shortcut_redo() — Повторить последнее отмененное действие (Cmd+Shift+Z)

  • keyboard_shortcut_save() — Сохранить текущий документ (Cmd+S)

  • keyboard_shortcut_new() — Создать новый документ (Cmd+N)

  • keyboard_shortcut_open() — Открыть документ (Cmd+O)

  • keyboard_shortcut_find() — Найти в документе (Cmd+F)

  • keyboard_shortcut_close_window() — Закрыть текущее окно (Cmd+W)

  • keyboard_shortcut_quit_app() — Завершить текущее приложение (Cmd+Q)

  • keyboard_shortcut_minimize_window() — Свернуть текущее окно (Cmd+M)

  • keyboard_shortcut_hide_app() — Скрыть текущее приложение (Cmd+H)

  • keyboard_shortcut_switch_app_forward() — Переключиться на следующее приложение (Cmd+Tab)

  • keyboard_shortcut_switch_app_backward() — Переключиться на предыдущее приложение (Cmd+Shift+Tab)

  • keyboard_shortcut_spotlight_search() — Открыть поиск Spotlight (Cmd+Space)

  • keyboard_shortcut_force_quit() — Открыть диалоговое окно принудительного завершения (Cmd+Option+Esc)

  • keyboard_shortcut_refresh() — Обновить/Перезагрузить (Cmd+R)

Понимание пользовательского интерфейса:

  • get_screen_layout() — Получить информацию об окне/приложении с помощью API специальных возможностей macOS

  • get_screen_text() — Прочитать весь текст на экране с помощью OCR с позиционированием

  • focus_app(app_name, timeout) — Перевести приложение на передний план (с поддержкой тайм-аута)

  • get_available_apps() — Список всех запущенных приложений

Утилиты:

  • play_sound_for_user_prompt() — Воспроизвести системный звуковой сигнал, чтобы оповестить пользователя

Архитектура

AutoMac MCP построен как сервер протокола контекста модели (MCP), который позволяет ИИ-ассистентам, таким как Claude, взаимодействовать с вашей локальной системой macOS через стандартизированный интерфейс.

Что такое MCP?

MCP (Model Context Protocol) — это стандарт, который позволяет ИИ-ассистентам безопасно получать доступ к внешним ресурсам и инструментам. MCP-сервер предоставляет возможности через два основных типа:

  • Инструменты (Tools): Действия, которые может выполнять ИИ (например, клик, ввод текста, прокрутка)

  • Ресурсы (Resources): Информация, к которой может получить доступ ИИ (например, содержимое экрана, запущенные приложения)

Как работает AutoMac MCP

Claude Desktop ←→ MCP Protocol ←→ AutoMac MCP Server ←→ macOS System APIs
  1. Claude Desktop подключается к MCP-серверу через протокол MCP

  2. Сервер AutoMac MCP получает запросы и переводит их в системные вызовы

  3. Системные API macOS обрабатывают фактические взаимодействия с пользовательским интерфейсом и извлечение данных

  4. Результаты возвращаются по той же цепочке к Claude

Основные компоненты

Фреймворк MCP-сервера

  • Построен на FastMCP для упрощенной реализации MCP

  • Обрабатывает связь JSON-RPC и соответствие протоколу MCP

  • Использует исключительно декораторы @mcp.tool — ресурсы (@mcp.resource) избегаются, так как Claude Desktop не вызывает ресурсы автоматически, только инструменты

Слой управления пользовательским интерфейсом

  • pyautogui: Кроссплатформенное управление вводом (клик, ввод, прокрутка)

  • pyobjc + AppKit: Нативное управление окнами и приложениями macOS

  • osascript + AppleScript: Системная автоматизация через вызовы подпроцессов

Слой понимания пользовательского интерфейса

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

  • easyocr: Оптическое распознавание символов для чтения текста с экрана

  • Захват скриншотов: В сочетании с OCR для визуального понимания пользовательского интерфейса

Модель безопасности

AutoMac MCP требует явных разрешений специальных возможностей macOS и полагается на запросы подтверждения команд Claude Desktop для предотвращения несанкционированных действий. Все системные взаимодействия опосредуются через протокол MCP, обеспечивая контролируемый интерфейс для автоматизации пользовательского интерфейса на базе ИИ.

Советы по составлению промптов

Для достижения наилучших результатов при использовании AutoMac MCP с Claude:

Будьте конкретны в отношении приложений: Всегда указывайте, с каким приложением вы хотите взаимодействовать. Вместо того чтобы говорить «открой браузер», скажите «сфокусируйся на Chrome» или «сфокусируйся на Safari».

Запрашивайте переключение приложений: После выполнения действий в других приложениях всегда просите Claude переключиться обратно на приложение Claude Desktop, иначе вы не сможете увидеть, что автоматизация сработала. Например: «Нажми кнопку отправки в Safari, затем переключись обратно на Claude Desktop».

Используйте четкие последовательности действий: Разбивайте сложные задачи на четкие шаги и указывайте порядок. Это помогает Claude точно понять, чего вы хотите достичь.

Статус разработки и дорожная карта

Завершенные функции

  • ✅ Реализация основного MCP-сервера с FastMCP

  • ✅ Базовое управление вводом (клик, ввод, прокрутка, сочетания клавиш)

  • ✅ Понимание пользовательского интерфейса macOS через API специальных возможностей

  • ✅ Чтение текста с экрана на основе OCR с позиционированием

  • ✅ Фокусировка и управление приложениями

Планируемые улучшения

  • [ ] Улучшенное обнаружение пользовательского интерфейса: Более детальное распознавание элементов (кнопки, текстовые поля, меню)

  • [ ] Расширенные взаимодействия: Drag and drop, контекстные меню правой кнопки мыши

  • [ ] Поддержка нескольких мониторов: Обработка нескольких дисплеев и позиционирования окон

  • [ ] Улучшенный OCR: Лучшее обнаружение текстовых областей и точность

  • [ ] Визуальная обратная связь: Аннотации скриншотов и выделение элементов пользовательского интерфейса

  • [ ] Интеграция специальных возможностей: Более глубокое использование API специальных возможностей macOS

Пример: Автоматизированная покупка игры в Steam

D3: Это была реальная сессия, в которой система совершила покупку от моего имени. Ниже приведена стенограмма разговора и скриншоты из видео, которое я снял.

Промпт: Открой Steam и купи для меня одну или несколько новых игр из моего списка желаемого, выбери лучшие для меня. У тебя есть бюджет в 5 евро. У тебя есть мое полное разрешение на завершение покупки. Не забудь переключиться обратно на приложение Claude, когда закончишь, и сообщить о результате.

Я помогу тебе открыть Steam и посмотреть твой список желаемого, чтобы найти отличные игры в рамках твоего бюджета в 5 евро. Позволь мне начать с открытия Steam, а затем перейти к твоему списку желаемого.

focus_app

Отлично! Steam теперь открыт. Позволь мне проверить, что сейчас видно на экране, чтобы понять, как перейти к твоему списку желаемого.

get_screen_text

Я вижу, что Steam открыт, видна строка меню. Мне нужно получить доступ к твоему списку желаемого. Я нажму на «Аккаунт» в меню, чтобы найти опцию списка желаемого.

mouse_single_click

Позволь мне проверить, какие пункты меню появились после нажатия на «Аккаунт».

get_screen_text

Идеально! Я вижу «Список желаемого (141)» в верхней правой части экрана. Позволь мне нажать на него, чтобы получить доступ к твоему списку желаемого.

mouse_single_click

Позволь мне подождать немного, пока загрузится список желаемого, а затем проверить, какие игры доступны.

get_screen_text

Отлично! Я вижу, что твой список желаемого загружен и отсортирован по цене. Я вижу две игры, которые вписываются в твой бюджет в 5 евро:

  1. Heroes of Book & Paper - 4,55 евро (со скидкой 20%)

  2. Hylics 2 - 7,39 евро (со скидкой 50%) - Это немного выходит за рамки бюджета Первая игра «Heroes of Book & Paper» за 4,55 евро идеально вписывается в твой бюджет в 5 евро и выглядит отличным выбором. Это RPG с положительными отзывами. Позволь мне нажать «Добавить в корзину» для этой игры.

mouse_single_click

Позволь мне проверить, была ли игра добавлена в корзину, и посмотреть, есть ли другие доступные игры, прокрутив вниз, чтобы увидеть больше вариантов.

scroll

get_screen_text

Идеально! Я вижу, что «Heroes of Book & Paper» была успешно добавлена в твою корзину — теперь есть индикатор «Корзина (1)», и я вижу сообщение «

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/digithree/automac-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server