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

Последний пробел в том, чтобы дать ИИ-ассистенту настоящие руки, — это позволить ему создавать изображения, а не только их описывать. 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-минутный звонок