К содержимому
Интеграции

Работа через MCP

Обновлено

Подключение

Для работы с ИИ-агентом установите приложение MCP в той же системе Webasyst. Плагин регистрирует в нём инструменты и права; отдельные API-ключи внешних сервисов в настройках плагина не предусмотрены.

В форме токена приложения MCP найдите группу «Изображения записей блога» и предоставьте нужные права «Чтение» и «Запись». Подключите клиент агента к MCP с этим токеном средствами приложения MCP. Инструмент без соответствующего права в токене недоступен и не показывается агенту.

Если токен выполняет действия от имени пользователя (act_as), плагин дополнительно проверяет его доступ к приложению «Блог». Собственная проверка плагина проверяет доступ к приложению в целом; отдельные права на конкретную запись в этих инструментах не проверяются. Для токена без привязанного пользователя ограничением остаются права самого токена.

Для загрузки требуется версия MCP с классом mcpFileUploadHelper. Если инструмент сообщает mcp_helper_missing, обновите приложение MCP.

Инструменты и права

Имя инструмента Подпись права Группа прав Назначение и аргументы
ewblogpimg_list_groups Список групп изображений Чтение Без аргументов. Возвращает группы, их числовые ID, строковые идентификаторы, названия, описания и размеры эскизов.
ewblogpimg_list_post_images Изображения записи Чтение Обязателен post_id — положительный ID записи. Возвращает изображения с ID, группой, именами файлов, расширением, размером, временем загрузки и публичным URL.
ewblogpimg_upload_post_image Загрузка изображения записи Запись Загружает файл в существующую группу существующей записи. Параметры перечислены ниже.
ewblogpimg_delete_post_image Удаление изображения записи Запись Принимает image_id из списка изображений. Удаляет файл и эскизы только с confirm: true.

Имя отдельного права совпадает с именем инструмента. Эти инструменты не создают записи блога и не создают группы: подготовьте их в «Блоге» и настройках плагина.

Параметры загрузки

Аргумент Назначение
post_id Обязательный положительный ID существующей записи.
group_id или group Числовой ID группы либо её строковый уникальный идентификатор. При указании обоих используется положительный group_id.
file_path или url Путь к файлу на сервере либо публичный HTTP(S)-адрес. При непустом file_path используется он.
name Необязательное имя файла с расширением. Если не задано, определяется по источнику. Полезно для URL без расширения в пути.
replace По умолчанию false. Для замены изображения в занятой группе требуется true.

Инструмент разрешает расширения jpg, jpeg, png, gif, webp, svg. Растровый файл должен читаться обработчиком изображений Webasyst.

file_path означает путь на сервере Webasyst, а не на компьютере собеседника. Проверку разрешённых каталогов выполняет MCP: описание инструмента предусматривает /tmp и каталоги данных Webasyst. Для URL используется загрузчик MCP с проверкой адреса; непубличные адреса и протоколы, отличные от HTTP(S), не подходят.

Перед заменой растровый источник проверяется на читаемость как изображение. Затем прежние файлы группы удаляются и выполняется загрузка. Это не атомарная замена: ошибка последующей обработки не гарантирует сохранение прежней картинки.

При загрузке применяются те же настройки эскизов, @2x, временной метки и премиальной конвертации в WebP, что и в редакторе.

Примеры просьб агенту

Покажи группы изображений записей блога и размеры эскизов.

Покажи изображения записи блога с ID 42 и ссылки на них.

Загрузи изображение по ссылке https://example.com/cover.jpg
в группу default записи 42. Если изображение уже есть, не заменяй его.

Замени изображение группы default записи 42 файлом по этой ссылке.
Используй replace=true.

Покажи изображение с ID 17 и запись, к которой оно относится.

ID и URL в примерах условные. Удаление следует запрашивать отдельно, указав найденный ID и явно подтвердив действие:

Подтверждаю удаление изображения с ID 17 вместе с его эскизами.
Вызови ewblogpimg_delete_post_image с image_id=17 и confirm=true.

Без confirm: true инструмент возвращает confirm_required и сведения об изображении, не удаляя его.

Данные и ошибки

MCP-клиент получает результаты вызовов: группы, сведения о файлах и публичные ссылки. При загрузке по URL сервер Webasyst обращается к указанному источнику и скачивает файл. Затем изображение сохраняется в данных приложения «Блог»; временная скачанная копия удаляется после обработки. Дальнейшая передача результатов внешней модели определяется используемым MCP-клиентом.

Успешный ответ содержит ok: true. При отказе возвращаются ok: false, error_code и error_message. Среди причин: post_not_found, group_not_found, image_exists, source_required, unsupported_extension, invalid_image, download_failed, access_denied и image_not_found.

Для ошибок базы данных и неожиданных ошибок подробности записываются в ewblogpimg.log. Пользователю возвращается сообщение об ошибке без подтверждения успешного действия.