3. Описание MCP-сервера › 3.3 Движок › Картинки

Раздел engine_image_* работает с файлами оформления шаблонов — картинками, шрифтами, значками — и с их папками. Файлы, прикреплённые к строкам магазина, — фото товара, сертификат — это другое: их ведёт раздел «Файлы элементов».

Где лежат

templates/<группа>/images/…

Здесь лежит не только графика, но и шрифты, и значки: инструменты раздела работают с любым файлом этой папки. Папки внутри неё создают, переименовывают и удаляют engine_image_dir_*. Сама images/ — корень: её нельзя ни переименовать, ни удалить.

В разметке файл называют от группы шаблонов тегом {PATH}: <img src="{PATH}/images/logo.png"> — см. «Системные константы».

Файл, а не текст

Картинка не идёт через переписку текстом: её скачивают и закачивают файлом.

engine_image_load скачивает файл на этот компьютер: по умолчанию в mcp\melbis\ папки магазина, по тому же пути, что на сервере. Локальную копию инструмент никогда не читает вместо сервера. png, jpeg, gif и webp приходят в ответе ещё и картинкой, svg — текстом.

Приложение-агент может уменьшить картинку, прежде чем передать её модели: Claude Code сводит её к 2000×2000 пикселей и сжимает. Файл на диске остаётся точной копией серверного.

engine_image_add закачивает файл на сервер: отдельного сохранения нет, повторная закачка по тому же пути заменяет файл. Так файл попадает в images/ с этого компьютера; внутри магазина туда же ведёт перенос статики engine_static_rename.

Замена и удаление необратимы

У файлов картинок нет версий: заменённый или удалённый файл не вернуть. Поэтому закачка на занятый путь без overwrite=true отказывает.

Переименование и перенос ссылки на файл не правят: разметка и стили продолжают называть его прежним путём.

Кеш

Картинки отдаёт веб-сервер напрямую, кеш движка их не касается, и очищать его после замены не нужно. Браузер посетителя может ещё какое-то время показывать прежнюю картинку с тем же именем — это его собственный кеш.

Бандлы

В папку картинок можно перенести и файл статики. Если он входил в бандл, описание бандла переезжает вместе с ним, поэтому переименование, перенос и удаление здесь тоже отвечают полем bundled — см. «Статика».