← Назад к ИИ
ПриложениеGoБесплатно

ImageMagick MCP — изменение размера и обрезка изображений для ИИ-агентов

До: изменение размера изображения до точных размеров внутри процесса агента означало вызов команды через shell, ручной расчёт соотношения сторон и обработку крайних случаев с отступами вручную. После: один вызов инструмента — агент указывает размеры и режим, получает готовый файл.

ImageMagick MCP — изменение размера и обрезка изображений для ИИ-агентов

Стек

GoMCPImageMagickAI

Задача

ИИ-агентам, работающим с изображениями, часто нужно приводить их к точным размерам в пикселях — миниатюры, обрезка под соцсети, соотношения сторон под конкретную платформу. Наивный подход — собрать shell-команду, но для этого агенту нужно знать флаги CLI ImageMagick, корректно обрабатывать несовпадение соотношений сторон и давать чистый результат в сценариях с размытием, обрезкой и леттербоксингом. Одна неверная опция — и результат искажён или пуст.

Рассмотренные варианты

  1. Попросить агента напрямую выполнять shell-команды ImageMagick — теоретически работает, но построение корректных конвейеров convert для всех трёх режимов соотношения сторон подвержено ошибкам и даёт непоследовательные результаты от сессии к сессии.
  2. Python-скрипт на Pillow — надёжно, но требует окружения Python, добавляет зависимость и всё равно нужно оформлять как инструмент, вызываемый агентом.
  3. MCP-сервер на Go, оборачивающий ImageMagick — выбранный вариант. Единый самодостаточный бинарник; агент передаёт путь к исходному файлу, путь к результату и размеры; вся логика ImageMagick обрабатывается внутри сервера.

Решение

Минималистичный MCP-сервер на Go предоставляет один узкоспециализированный инструмент: crop_resize_blur_bg. Агент указывает путь к исходному файлу, путь к результату, целевые ширину и высоту и, опционально, режим. Сервер выполняет изменение размера — с корректной обработкой соотношения сторон во всех случаях — и возвращает путь к результату по завершении.

Реализация

Сервер оборачивает ImageMagick через выполнение shell-команд по фиксированному, проверенному шаблону — никаких CLI-строк, собранных пользователем. Три режима покрывают все типовые задачи по компоновке: blur заполняет фон размытой версией исходного изображения (режим по умолчанию, выглядит естественно для любого контента), cover обрезает изображение так, чтобы заполнить кадр без отступов, а contain вписывает изображение в целевую область со сплошными отступами. Радиус размытия настраивается.

Бинарник статически скомпилирован и кросс-собран для macOS, Linux и Windows (amd64 + arm64). Никаких зависимостей времени выполнения, кроме самого ImageMagick. Интегрируется с любым MCP-совместимым хостом через одну запись в конфигурации серверов хоста.

Результат

Изменение размера изображений внутри процесса агента теперь сводится к одному детерминированному вызову инструмента. Агенту больше не нужно знать API ImageMagick — он указывает намерение (размеры, режим), а сервер каждый раз выдаёт корректный результат. Пакетные конвейеры изменения размера последовательно выполняют несколько вызовов без ручного вмешательства.

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок