media-gen-mcp-server
v0.4.4
Published
All-in-one image-generation MCP server for Claude Code: AI imagery/video (Agnes AI + Zhipu) + structured local rendering (diagrams, charts, formulas, cards, icons, QR codes). Provider- and engine-pluggable.
Downloads
2,689
Maintainers
Readme
media-gen-mcp
Универсальный MCP-сервер генерации изображений для Claude Code — AI-графика и локальная структурированная отрисовка в одном сервере
Текст в изображение / изображение в изображение / текст в видео / изображение в видео / анимация по ключевым кадрам · диаграммы / графики / формулы / карточки / иконки / QR-коды
English | 简体中文 | 日本語 | Español | Français | Deutsch | Русский | Português
✨ Ключевые возможности
- 🎨 AI-графика — полностью бесплатно: текст в изображение, изображение в изображение, текст в видео, изображение в видео, анимация по ключевым кадрам — через бесплатные модели Agnes AI + Zhipu, без затрат.
- 📐 Локальная структурированная отрисовка, детерминированно: диаграммы, графики, формулы, карточки, иконки, QR-коды — векторный SVG высокого разрешения, без вызовов AI, бесконечное масштабирование, чёткий текст, полный контроль.
- 🧠 Единая ментальная модель: просто скажите «сгенерируй изображение» — Claude сам выберет AI или локальный движок и сгенерирует нужный DSL/JSON/LaTeX. Ноль дополнительных шагов для пользователя.
- 🌏 Идеально из коробки: карточки автоматически поддерживают CJK (встроенный Noto Sans SC, офлайн), сплошные/градиентные фоны и цветные эмодзи; диаграммы поддерживают и D2, и Graphviz.
- 🔌 Подключаемость: providers и движки рендеринга расширяются без изменений на уровне инструментов; маршрутизация по умолчанию для каждого типа контента + самообучение rate-limit.
- 🆓 Структурированным инструментам не нужен key: после
claude mcp add6 локальных инструментов работают сразу — рисуйте диаграммы/графики/карточки/QR-коды вообще без AI-ключа. - 🌐 README на 8 языках · MIT · Node ≥18
🛠️ 10 инструментов
🤖 AI-генерация (онлайн · бесплатно)
| Инструмент | Возможности |
|---|---|
| generate_image | текст в изображение / изображение в изображение (референс → новое) |
| create_video | текст в видео / изображение в видео / анимация по ключевым кадрам (умный синхр./асинхр.) |
| get_video | опрос + скачивание видео-задачи |
| list_models | список моделей и ограничений видео по providers |
📐 Структурированный рендеринг (локально · детерминированно · в основном без key)
| Инструмент | Результат | Движок |
|---|---|---|
| generate_diagram | архитектура / последовательность / блок-схема / классы / ER / майндмап | DSL D2 · Graphviz (DOT) |
| generate_chart | столбчатый / линейный / круговой / с областями / точечный | Vega-Lite |
| generate_formula | математические формулы LaTeX (глифы встроены, шрифт не нужен) | MathJax |
| generate_card | OG / share / цитатные карточки (по умолчанию 1200×630; шаблоны og/quote/minimal/hero/panel; авто CJK/градиентный фон/цветные эмодзи, градиентный заголовок + glow) | Satori + resvg |
| generate_icon | 200k+ векторных иконок (prefix:name) | Iconify |
| generate_qrcode | QR-коды | qrcode |
Из 6 структурированных инструментов 4 полностью офлайн (diagram / chart / formula / qrcode). Стандартный латинский шрифт
generate_cardодин раз загружается из CDN и кэшируется в~/.media-gen-mcp/fonts/(далее офлайн, либо передайтеfontPath, чтобы сразу работать офлайн); CJK-шрифт (Noto Sans SC) встроен офлайн. Однако эмодзи карточек (twemoji) иgenerate_icon(Iconify) требуют сеть (только кэш, не встроены). Инструменты AI-генерации всегда онлайн.
🚀 Быстрый старт
① Получите бесплатный key (только для AI-генерации; пропустите, если рисуете только структурированные изображения)
Зарегистрируйтесь на одной (или обеих) платформах ниже, чтобы получить бесплатный API-key:
| Provider | Бесплатно | Как получить | |---|---|---| | Agnes AI (по умолчанию) | Все изображения и видео бесплатно | https://platform.agnes-ai.com/ → регистрация → API Keys | | Zhipu BigModel (опционально, 4K / китайский) | cogview-3-flash для изображений + cogvideox-flash для видео — бесплатно навсегда | https://bigmodel.cn/usercenter/proj-mgmt/apikeys → верификация → создать key |
Подробные шаги: подключение Agnes · подключение Zhipu
② Настройка (один раз)
Создайте ~/.media-gen-mcp/config.json с вашим key:
{
"providers": {
"agnes": { "apiKey": "sk-your-agnes-key" },
"zhipu": { "apiKey": "your-zhipu-key" }
}
}Достаточно только agnes (удалите строку zhipu). Пропустите models, чтобы использовать встроенные значения по умолчанию.
③ Добавьте в Claude Code
claude mcp add media-gen-mcp npx media-gen-mcp-serverКоманда установки не содержит key (он уже в config выше). Выполните /mcp — media-gen-mcp ✓ Connected означает успех.
💬 Как использовать
Просто скажите это в Claude Code — авто-маршрутизация, запоминать названия инструментов не нужно:
AI-генерация:
| Сценарий | Что сказать | |---|---| | По умолчанию | «Сгенерируй фотореалистичного рыжего кота» / «Сгенерируй 5-секундное видео с пляжем» | | Конкретный provider | «Нарисуй через Zhipu» / «Видео через agnes» | | Конкретная модель | «Нарисуй через cogview-4» / «Используй agnes-video-v2.0» | | Изображение в изображение / в видео | «Преврати это изображение в акварель» / «Преврати это изображение в видео» | | Анимация по ключевым кадрам | «Сделай плавный переход между этими двумя изображениями» |
Структурированная отрисовка:
| Сценарий | Что сказать |
|---|---|
| Диаграмма | «Нарисуй архитектуру: клиент → API gateway → два микросервиса» (D2) или «Нарисуй граф зависимостей на DOT» (Graphviz) |
| График | «Построй столбчатый график по этим данным о продажах» |
| Формула | «Отрендери эту формулу: \sum_{i=1}^{n} i = \frac{n(n+1)}{2}» |
| Карточка для шерингa | «Сделай OG-карточку с градиентом от фиолетового к синему и эмодзи 🚀 для этой статьи» |
| Иконка | «Дай мне иконку с логотипом GitHub» |
| QR-код | «Сгенерируй QR-код для https://...» |
Указание provider/model влияет только на текущий вызов и не меняет ваш config. Диаграммы используют синтаксис D2/DOT Graphviz, графики — Vega-Lite, формулы — LaTeX, иконки — на icon-sets.iconify.design — Claude генерирует исходник автоматически.
Mermaid:
generate_diagramподдерживает D2 и Graphviz; рендеринг Mermaid в процессе требует браузер/Chromium (непригоден для детерминированного MCP), поэтому не поддерживается — используйте D2 (покрывает блок-схему/последовательность/классы/ER/майндмап) или Graphviz.
📡 Providers
| | По умолчанию | Изображения (бесплатно) | Видео (бесплатно) | Преимущества | |---|:---:|---|---|---| | agnes | ✅ | agnes-image-2.1-flash | agnes-video-v2.0 | Всё бесплатно, фотореализм, нативный звук | | zhipu (опционально) | | cogview-3-flash | cogvideox-flash | 4K/60fps, нативный китайский, соответствует требованиям КНР |
Переключение: defaultProvider: "zhipu", либо по типу контента через defaultImageProvider/defaultVideoProvider, либо передайте provider в конкретном вызове. Не знаете, что выбрать? См. сравнение.
⚙️ Config (расширенно, обычно не требуется)
Трёхуровневый fallback provider (аргумент вызова > по типу контента > глобальный):
| Поле | По умолчанию | Описание |
|---|---|---|
| defaultProvider | agnes | Глобальное значение по умолчанию (финальный fallback) |
| defaultImageProvider | как defaultProvider | Значение по умолчанию для изображений (generate_image) |
| defaultVideoProvider | как defaultProvider | Значение по умолчанию для видео (create_video/get_video) |
Например, defaultProvider: "agnes" + defaultVideoProvider: "zhipu" → изображения через agnes, видео через Zhipu.
Настройки подключения конкретного provider: providers.<name>.apiKey (обязательно), providers.<name>.models.{image,video}.default, outDir (каталог вывода, по умолчанию session-dir/output).
Самообучение rate-limit (rateLimits / rateLimitTtlMs — при 429 автоматически определяется реальный лимит + fallback по истечении TTL) и другие расширенные поля — см. doc/.
❓ FAQ
Видео генерируется медленно? Длительность 3–18 с, занимает ~1–3 мин. Если опустить wait, процесс станет асинхронным (при оценке >60 с возвращается дескриптор с уведомлением о завершении).
Количество кадров? Передайте durationSeconds для автоматического выбора (5/10/18 с). Agnes допускает только 81/121/161/241/441.
Получили 429? Встроен 62-секундный сериализатор; автоматически определяет реальный rate limit.
Структурированным инструментам нужен key? Нет. 6 локальных инструментов работают сразу из коробки; key нужен только для AI-генерации.
CJK/эмодзи/градиент в карточках? Встроенный CJK-шрифт (авто), цветные эмодзи twemoji (авто); передайте CSS linear-gradient(...) в bg для градиента.
Красивые эффекты для карточек? titleGradient (градиентный заголовок), glow (свечение заголовка), шаблон hero (размытый блоб глубины), шаблон panel (стеклянная панель: border/radius/shadow). Всё детерминированно, in-process через Satori — браузер не нужен.
Config не читается? Должен находиться по пути ~/.media-gen-mcp/config.json (npx устанавливает в кэш; config внутри проекта недоступен).
🏗️ Архитектура и документация
- Подключаемые provider (agnes + zhipu; добавление нового provider не требует изменений на уровне инструментов); подключаемые движки (DiagramEngine работает параллельно MediaProvider, без взаимного влияния).
- Подробнее в doc/: подключение Agnes · подключение Zhipu · сравнение Agnes vs Zhipu
💝 Поддержать автора
Если media-gen-mcp оказался вам полезен, угостите автора кофе ☕
WeChat | Alipay :-: | :-: |
Также можно поставить ⭐ Star, открыть Issue / PR — любая поддержка приветствуется.
