Skip to main content
Glama

Kairogen MCP

Сервер Model Context Protocol для Kairogen. Подключайте Claude, Cursor, ChatGPT (пользовательские коннекторы), Hermes, OpenClaw или любой другой агент, совместимый с MCP, и создавайте изображения и видео, используя полный каталог моделей Kairogen (Seedream, Flux, Nano Banana, GPT Image, Sora, Veo, Kling, Seedance, KairoClone, Topaz).

Аутентификация осуществляется через OAuth 2.0. Не нужно копировать или обновлять API-ключи.

Подключение за 30 секунд

Claude.ai (Пользовательский коннектор)

  1. Settings → Connectors → Add custom connector

  2. URL: https://mcp.kairogen.ai/mcp

  3. Нажмите Connect → войдите в систему через Kairogen → подтвердите доступ

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "kairogen": {
      "url": "https://mcp.kairogen.ai/mcp"
    }
  }
}

Перезапустите Cursor и нажмите Connect, когда появится запрос.

ChatGPT (Пользовательский коннектор)

Settings → Connectors → New custom connector → вставьте https://mcp.kairogen.ai/mcp. Войдите в систему, когда ChatGPT запросит это.

Claude Code

claude mcp add --transport http kairogen https://mcp.kairogen.ai/mcp

Флаг --transport http обязателен для удаленных MCP-серверов, защищенных OAuth. Без него CLI предполагает использование stdio и пытается выполнить URL как локальный бинарный файл.

Hermes / OpenClaw / NemoClaw (агенты только для чата)

Вставьте этот промпт в агент:

Connect the Kairogen MCP at https://mcp.kairogen.ai/mcp. It supports OAuth device flow,
discovery at https://mcp.kairogen.ai/.well-known/oauth-protected-resource. Run the device
flow and reply with: Authorize here: https://app.kairogen.ai/device?code=XXXX-XXXX. Then
poll the token endpoint until I authorize and confirm once it succeeds.

Агент ответит ссылкой. Откройте её, нажмите Permitir acesso, и вы подключены.

Локальный stdio (Claude Desktop, headless-разработка, офлайн)

{
  "mcpServers": {
    "kairogen": {
      "command": "npx",
      "args": ["-y", "@kairogen/mcp"]
    }
  }
}

При первом запуске CLI выполняет поток OAuth-устройства, открывает браузер и кэширует токены в ~/.kairogen/tokens.json с автоматическим обновлением. Переменные окружения не требуются.

Инструменты

Инструмент

Что делает

Область действия

list_models

Поиск всех моделей изображений/видео

(public)

get_credits

Проверка остатка баланса кредитов

kairogen:read

estimate_cost

Предварительный просмотр стоимости кредитов перед генерацией

(public)

generate_image

Генерация одного или нескольких изображений. Блокирует выполнение до завершения (по умолчанию 10 мин).

kairogen:generate

generate_video

Генерация видео (текст-в-видео или изображение-в-видео). Блокирует выполнение до завершения (по умолчанию 15 мин).

kairogen:generate

upscale_image

Увеличение изображения в 2x или 4x с помощью Topaz Photo AI

kairogen:generate

get_generation

Опрос статуса предыдущей генерации

kairogen:read

Все инструменты generate_* поддерживают wait_for_completion: false, чтобы немедленно вернуть generation_id и позволить вам опрашивать статус через get_generation. Во время опроса они отправляют MCP-уведомления notifications/progress каждые 5 секунд, поэтому Claude Desktop / Cursor и другие отображают индикатор выполнения в реальном времени, а соединение не разрывается по таймауту во время рендеринга.

Конфигурация

Переменные окружения (все необязательны, имеют разумные значения по умолчанию):

Переменная

По умолчанию

Назначение

KAIROGEN_API_BASE

https://api.kairogen.ai

Переопределение для стейджинга или self-hosted

KAIROGEN_ISSUER

https://api.kairogen.ai

Базовый URL OAuth-эмитента

KAIROGEN_CLIENT_ID

kairogen-mcp

Предварительно зарегистрированный ID OAuth-клиента

KAIROGEN_API_KEY

(пусто)

Переопределение OAuth и использование статического токена (CI / headless)

KAIROGEN_CONFIG_DIR

~/.kairogen

Где кэшировать OAuth-токены

Локальная разработка

git clone https://github.com/kairogenai/kairogen-mcp.git
cd kairogen-mcp
npm install
npm run build

# stdio mode (with OAuth device flow on first run):
node dist/stdio.js

# remote HTTP mode (validates Bearer tokens against api.kairogen.ai/.well-known/jwks.json):
PORT=8080 node dist/http.js

Дымовое тестирование (агент не требуется):

KAIROGEN_API_KEY=eyJ... node -e "
const init = JSON.stringify({jsonrpc:'2.0',id:1,method:'initialize',params:{protocolVersion:'2025-11-25',capabilities:{},clientInfo:{name:'smoke',version:'0'}}});
const initd = JSON.stringify({jsonrpc:'2.0',method:'notifications/initialized'});
const list = JSON.stringify({jsonrpc:'2.0',id:2,method:'tools/list'});
process.stdout.write(init+'\\n'+initd+'\\n'+list+'\\n');
" | node dist/stdio.js

Развертывание (mcp.kairogen.ai)

fly launch --no-deploy --copy-config --name kairogen-mcp
fly secrets set \
  MCP_RESOURCE=https://mcp.kairogen.ai \
  OAUTH_ISSUER=https://api.kairogen.ai \
  OAUTH_AUDIENCE=kairogen-api \
  MCP_AUTH_SERVERS=https://api.kairogen.ai \
  KAIROGEN_API_BASE=https://api.kairogen.ai
fly deploy
fly certs add mcp.kairogen.ai

MCP_AUTH_SERVERS обязателен: он заполняет поле authorization_servers в /.well-known/oauth-protected-resource, с помощью которого MCP-клиенты обнаруживают, где запускать поток OAuth. Если вам нужно несколько эмитентов, укажите их через запятую.

Переменные окружения бэкенда, необходимые для OAuth-эмитента

Сервер аутентификации (kairogen-backend-development) требует установки следующих переменных в своей среде развертывания:

Переменная

Обязательно

Назначение

OAUTH_JWT_PRIVATE_KEY

да (prod)

RSA PEM. Сгенерируйте с помощью openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048.

OAUTH_ISSUER

рекомендуется

По умолчанию https://api.kairogen.ai. Должен совпадать с тем, что ожидает MCP-сервер.

OAUTH_AUDIENCE

рекомендуется

По умолчанию kairogen-api. Должен совпадать с тем, что ожидает MCP-сервер.

OAUTH_WEBSITE_DOMAIN

да

Источник фронтенда, хостящего /oauth/consent и /device. По умолчанию https://app.kairogen.ai. (или там, где работает ваш Nuxt dev-сервер), иначе эндпоинты согласия вернут 403.

OAUTH_INTROSPECTION_SECRET

опционально

Случайная строка из 32+ символов. Пустое значение отключает /oauth/introspect.

CORS_ORIGINS

да (prod)

Разделенный запятыми список разрешенных источников. Пустое значение в продакшене теперь отклоняет все кросс-доменные запросы. Установите https://app.kairogen.ai (плюс любые другие источники UI), чтобы разрешить страницу согласия.

DNS: укажите mcp.kairogen.ai (CNAME) на имя хоста приложения Fly.

Архитектура

  • Фронтенд (kairogen-frontend-development) размещает экраны согласия по адресам /oauth/consent, /device и /settings/connections.

  • Бэкенд (kairogen-backend-development) является OAuth-эмитентом. Монтирует /.well-known/oauth-authorization-server, /.well-known/jwks.json, /oauth/authorize/approve, /oauth/token, /oauth/device_authorization, /oauth/device/approve, /oauth/connections.

  • MCP-сервер (этот репозиторий) является сервером ресурсов. Проверяет Bearer JWT, выданные бэкендом, по опубликованному JWKS, а затем проксирует вызовы инструментов к api.kairogen.ai с токеном пользователя.

Дорожная карта

  • [x] v0.1 stdio + вставка sAccessToken (устарело)

  • [x] v0.2 поток OAuth-устройства при первом запуске stdio

  • [x] v0.3 хостинг Streamable HTTP на mcp.kairogen.ai

  • [ ] v0.4 Ресурсы (kairogen://models, kairogen://prompt-guide/{model})

  • [ ] v0.5 Маркетинговая студия + потоки управления кино как инструменты более высокого уровня

Лицензия

MIT

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kairogenai/kairogen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server