
ImageMagick MCP: дайте вашему ИИ-ассистенту пару рук для изменения размера изображений
- Опубликовано
- • 4 мин чтения•--- просмотров

ИИ-ассистенты отлично решают, как должно выглядеть изображение, и совершенно бесполезны, когда нужно его реально создать. Попросите один из них "сделай из этого социальную карточку 1200×630" — и получите абзац советов вместо файла. Поэтому я написал imagemagick-mcp: маленький и быстрый сервер Model Context Protocol на Go, который оборачивает ImageMagick, чтобы любой MCP-совместимый агент — Claude, Cursor, что угодно — мог переформатировать изображения до точных размеров прямо на диске.
Вся суть: дать вашему ИИ-ассистенту пару рук для обрезки, изменения размера и заливки фона размытием — и никогда не искажать источник.
Единственная работа, которую он делает хорошо
Большинство инструментов для работы с изображениями либо обрезают ваш объект, либо сжимают пропорции, чтобы вписаться в рамку. Этот сервер отказывается делать и то, и другое. Когда исходное изображение уже соответствует нужным пропорциям, он просто аккуратно меняет размер. Когда не соответствует — вы выбираете, как заполнить разницу. Никогда никаких искажений.
Это и есть философия дизайна — один инструмент, три предсказуемых режима, ноль сюрпризов:
| Режим | Что вы получаете | Лучше всего для |
|---|---|---|
🌫️ blur (по умолчанию) | Изображение вписано поверх размытой, увеличенной копии самого себя — красиво заполняет пустоту, без мёртвого пространства | Миниатюры, hero-карточки, посты в соцсетях |
✂️ cover | Обрезка-заполнение по центру — без отступов, без полос | Аватары, плитки, галереи с фиксированной сеткой |
📦 contain | Вписывание внутрь с аккуратными чёрными полями | Логотипы, скриншоты, арт, который нельзя обрезать |
Режим blur — тот, к которому я обращаюсь чаще всего: вместо уродливых чёрных полос или растянутого объекта вы получаете мягкий, гармоничный фон, полученный из самого изображения. Именно это заставляет портретное фото хорошо смотреться в карточке 16:9.
Инструмент: crop_resize_blur_bg
Сервер предоставляет один сфокусированный MCP-инструмент. Никакой раскидистой поверхности API — только параметры, которые имеют значение:
| Параметр | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
input_path | string | ✅ | — | Абсолютный путь к исходному изображению |
output_path | string | ✅ | — | Абсолютный путь для вывода (родительские директории создаются автоматически) |
width | number | ✅ | — | Целевая ширина в пикселях |
height | number | ✅ | — | Целевая высота в пикселях |
mode | string | — | blur | blur, cover или contain |
blur | number | — | 30 | Радиус размытия (используется только режимом blur) |
Поскольку он принимает обычные абсолютные пути и целые числа, модель может управлять им из запроса на естественном языке — "измени размер всех фото в этой папке на 1080×1080 с размытым фоном" — и агент сам подставит аргументы. Выходные директории создаются автоматически, так что всё просто работает.
Настройка
Предварительные требования
- Go 1.22+ — для сборки сервера
- ImageMagick 7 — бинарник
magickдолжен быть в вашемPATH
Установите ImageMagick для своей платформы:
# macOS
brew install imagemagick
# Windows (pick one)
choco install imagemagick
winget install ImageMagick.ImageMagick
В Windows, если вы используете установщик вместо этого, отметьте "Add application directory to your system path".
Сборка
Сервер — это единый бинарник на Go. Makefile покрывает все платформы:
make build # current platform -> bin/imagemagick-mcp
make build-all # cross-compile darwin/linux/windows (amd64 + arm64)
make install # build + copy to /usr/local/bin
Подключение к вашему MCP-клиенту
Зарегистрируйте бинарник как stdio-сервер в MCP-конфиге вашего клиента:
{
"mcpServers": {
"imagemagick": {
"command": "/absolute/path/to/bin/imagemagick-mcp"
}
}
}
Перезапустите клиент, и ваш ассистент сможет начать переформатировать изображения.
Почему обернуть ImageMagick, а не использовать библиотеку
ImageMagick десятилетиями остаётся золотым стандартом для манипуляций с изображениями из командной строки — он быстрый, скриптуемый и уже установлен на половине важных машин. Переизобретение логики обрезки и заполнения в управляемой библиотеке изображений означало бы заново изобретать проверенную временем геометрическую математику и тащить за собой более тяжёлую зависимость. Оборачивание бинарника magick держит сервер маленьким и быстрым: он делегирует работу инструменту, который уже превосходен, и просто учит его говорить на MCP.
Это паттерн, к которому я постоянно возвращаюсь в этих серверах — найти зрелый CLI, выставить ровно ту операцию, которая нужна агенту, и поставить перед ней чистый типизированный интерфейс. Модель получает надёжную возможность; вы не получаете новую поверхность атаки или хрупкую переимплементацию.
Проект открыт на GitHub: github.com/artschekoff/imagemagick-mcp — построен на Go + ImageMagick. Issues и пул-реквесты приветствуются.
Открыт для работы по контракту
Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.
Записаться на 30-минутный звонок