Управление через MCP
Обновлено
Подключение и права
Установите приложение MCP в том же Webasyst и подключите к нему своего ИИ-клиента по инструкции приложения. Плагин регистрирует инструменты через события MCP; отдельного API-ключа в настройках «Изображения категорий» нет.
При настройке прав токена MCP найдите группу «Изображения категорий». Инструменты разделены на «Чтение» и «Запись». Разрешите нужные операции: право каждого инструмента совпадает с его техническим именем.
| Раздел | Название права | Инструмент |
|---|---|---|
| Чтение | Список групп изображений | ewshopcimg_list_groups |
| Чтение | Изображения категории | ewshopcimg_list_category_images |
| Запись | Загрузка изображения категории | ewshopcimg_upload_category_image |
| Запись | Удаление изображения категории | ewshopcimg_delete_category_image |
Если токен действует от имени пользователя (act_as), плагин дополнительно проверяет его доступ к приложению «Магазин». Без пользовательского контекста ограничением служат права токена. В собственном коде инструментов проверяется общий доступ к бэкенду магазина, отдельной проверки прав на конкретную категорию нет.
Инструменты чтения
ewshopcimg_list_groups вызывается без параметров. Возвращает группы: числовой id, строковый unique_id, название, описание и список размеров sizes с шириной и высотой.
ewshopcimg_list_category_images принимает обязательный category_id. Возвращает изображения категории с их ID, группами, именами файлов, расширениями, размером, датой загрузки и публичными URL. Несуществующая категория даёт ошибку category_not_found.
Загрузка и замена
ewshopcimg_upload_category_image использует тот же загрузчик, что форма категории: создаёт эскизы группы, учитывает @2x, временную метку и условия премиум-конвертации в WebP.
| Параметр | Назначение |
|---|---|
category_id |
Обязательный ID существующей категории |
group_id или group |
Числовой ID группы либо её строковый unique_id; при передаче обоих приоритет у group_id |
file_path или url |
Файл на сервере либо публичная HTTP(S)-ссылка; при передаче обоих источником служит file_path |
name |
Необязательное имя с расширением; иначе определяется по источнику |
replace |
По умолчанию false. Передайте true, чтобы заменить картинку занятой группы у категории |
Допустимые расширения для MCP: jpg, jpeg, png, gif, webp, svg. Если URL не содержит подходящего имени файла, задайте name явно.
file_path — путь на сервере Webasyst, а не на компьютере пользователя. Плагин передаёт его проверке mcpFileUploadHelper, которая допускает /tmp и каталоги данных Webasyst. Для загрузки по URL используется тот же помощник MCP с проверкой публичного HTTP(S)-адреса.
При занятой группе без replace=true возвращается image_exists. Перед заменой растровый источник проверяется на возможность открыть его как изображение. Затем прежние файлы и записи группы у категории удаляются, после чего выполняется загрузка. Не считайте замену операцией с гарантированным откатом при последующей ошибке записи.
Если возвращается mcp_helper_missing, обновите приложение MCP: в установленной версии отсутствует нужный помощник загрузки.
Удаление
ewshopcimg_delete_category_image принимает image_id из списка изображений и confirm=true. Без явного логического true возвращает confirm_required и не удаляет файл.
Удаляются файлы изображения и эскизы в каталоге его группы у категории, затем запись изображения. Сначала получите актуальный список, чтобы агент использовал правильный ID.
Примеры просьб агенту
Числа ниже — примеры: замените их реальными ID.
Покажи группы изображений категорий и их размеры эскизов.Покажи изображения категории 37 с названиями групп и публичными ссылками.Загрузи файл /tmp/category-banner.jpg в категорию 37,
в группу category_banner. Если там уже есть картинка, остановись.Замени картинку группы default у категории 37 изображением
по ссылке https://example.com/catalog/chairs.png. Имя файла chairs.png.Удали изображение с ID 125 вместе с эскизами. Подтверждаю удаление.Для последнего запроса агент должен передать confirm=true в вызове инструмента.
Какие данные передаются
При чтении MCP возвращает агенту метаданные групп и файлов, включая публичные ссылки изображений. При загрузке по URL сервер Webasyst обращается к указанному адресу и скачивает файл. При file_path читается разрешённый файл на этом сервере.
Загруженная картинка сохраняется в данных магазина, её публичная копия и эскизы доступны по URL. В коде плагина нет собственной отправки изображений внешнему ИИ-сервису: взаимодействие с выбранным агентом выполняется через приложение MCP и его клиент.