Kie AI MCP: пусть ваш ИИ-ассистент генерирует изображения и сохраняет их на диск
← Назад в блог

Kie AI MCP: пусть ваш ИИ-ассистент генерирует изображения и сохраняет их на диск

Опубликовано
4 мин чтения
--- просмотров
Kie AI MCP — генерация изображений от любого MCP-совместимого агента

Последний пробел в том, чтобы дать ИИ-ассистенту настоящие руки, — это позволить ему создавать изображения, а не только их описывать. API генерации хватает, но у каждого один и тот же танец: отправить задачу, опрашивать статус, ждать, а потом скачать файл, пока он не истёк. Утомительно подключать вручную и плохо подходит для одного хода в чате. Поэтому я написал kie-ai-mcp: сервер Model Context Protocol на Go, который связывает с API генерации изображений Kie AI и берёт на себя весь этот цикл за вас.

Он создаёт задачи, опрашивает их до завершения и сохраняет полученное изображение прямо на диск — так что ваш агент может пройти путь от промпта до файла за один вызов.

Что он делает

Сервер сворачивает жизненный цикл создать → опросить → скачать в инструменты, которыми агент может управлять на естественном языке:

  • Создаёт задачи генерации изображений через Kie AI
  • Опрашивает статус задачи до завершения — или возвращает task id для асинхронных сценариев
  • Скачивает полученное изображение и записывает его на диск
  • Поддерживает параллельную пакетную генерацию с явным стилем и промптом для каждого элемента

Последний пункт — тот, на который я опираюсь чаще всего. Запрос десяти вариаций концепта раньше означал десять раундтрипов; здесь это один пакетный вызов с max_workers и результатами/ошибками по каждому элементу.

Набор инструментов

Пять сфокусированных MCP-инструментов покрывают и сценарий "запустил и забыл", и сценарий "жду результата":

ИнструментЧто делает
describe_imager_interfaceВозвращает контракты инструментов и информацию об окружении — вызовите первым, чтобы увидеть, что настроено.
create_visual_taskСоздаёт задачу генерации и возвращает task_id.
get_visual_taskПолучает статус задачи по task_id.
generate_visualСоздаёт задачу и ждёт результирующее изображение.
generate_visual_batchЗапускает несколько генераций параллельно (items[], default_style, max_workers, результаты/ошибки по элементам).

Используйте generate_visual, когда просто нужна картинка. Переходите на create_visual_task + get_visual_task, когда предпочитаете запустить длинную задачу и проверить результат позже.

Настройка

Сборка

Сервер — это единый бинарник на Go:

make build

Настройте свой API-ключ

Передайте ключ через блок env MCP-хоста — ключ живёт вне репозитория и никогда не появляется в сообщениях инструментов или логах.

{
  "kie-ai-mcp": {
    "command": "/path/to/kie-ai-mcp",
    "env": {
      "KIE_AI_API_KEY": "your-key-here"
    }
  }
}

Это единственная обязательная переменная. У всего остального есть разумное значение по умолчанию:

ПеременнаяОбязательнаПо умолчаниюОписание
KIE_AI_API_KEYдаВаш API-ключ Kie AI
KIE_AI_BASE_URLнетhttps://api.kie.ai/api/v1Базовый URL API
KIE_AI_MODELнетnano-banana-proМодель генерации изображений
KIE_AI_OUTPUT_DIRнетoutputДиректория, куда сохраняются сгенерированные изображения
KIE_AI_TIMEOUT_SECONDSнет90Таймаут HTTP на один запрос
KIE_AI_POLL_INTERVAL_SECONDSнет3Секунды между опросами статуса задачи
KIE_AI_POLL_TIMEOUT_SECONDSнет300Максимум секунд ожидания завершения задачи
KIE_AI_HTTP_RETRIESнет3Число повторных попыток при временных HTTP-ошибках
KIE_AI_HTTP_RETRY_BACKOFF_SECONDSнет1.5Начальная задержка backoff для повторов (удваивается на каждой попытке)

Если вы на fish, universal-переменные сохраняются между сессиями и доступны любому дочернему процессу — .env не нужен:

set -Ux KIE_AI_API_KEY your-api-key-here
set -Ux KIE_AI_MODEL nano-banana-pro
set -Ux KIE_AI_OUTPUT_DIR output

Сервер также читает .env из рабочей директории или из директории бинарника — просто не коммитьте его. Изображения попадают в KIE_AI_OUTPUT_DIR, если вы не передадите output_path для конкретного вызова.

Почему сервер, а не прямой вызов API

Ценность здесь не в самой генерации — это делает Kie AI. Она во всём, что вокруг: опрос с разумными таймаутами, повтор временных HTTP-сбоев с экспоненциальным backoff, скачивание результата до истечения срока действия URL и параллельный запуск батча без плавления rate limit. Встраивание этого в сервер означает, что модели никогда не приходится рассуждать о жизненных циклах задач. Она говорит "сделай мне четыре hero-изображения в этом стиле" и получает обратно четыре файла.

Это тот же паттерн, что и в моих других MCP-серверах — обернуть мощный бэкенд, выставить ровно те операции, которые нужны агенту, и держать секреты в env хоста, где они никогда не утекут в транскрипт.

Проект открыт на GitHub: github.com/artschekoff/kie-ai-mcp — построен на Go. Issues и пул-реквесты приветствуются.

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

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

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