Skip to main content
Glama

Kairogen MCP

Kairogen 用のModel Context Protocolサーバーです。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. 設定 → コネクタ → カスタムコネクタを追加

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

  3. 接続をクリック → Kairogenでサインイン → 承認

Cursor (~/.cursor/mcp.json)

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

Cursorを再起動し、プロンプトが表示されたら「接続」をクリックしてください。

ChatGPT (カスタムコネクタ)

設定 → コネクタ → 新しいカスタムコネクタ → https://mcp.kairogen.ai/mcp を貼り付けます。ChatGPTからプロンプトが表示されたらサインインしてください。

Claude Code

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

リモートのOAuth保護されたMCPサーバーには --transport http フラグが必要です。これがないと、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、ヘッドレス開発、オフライン)

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

初回起動時にCLIがOAuthデバイスフローを実行し、ブラウザを開きます。トークンは ~/.kairogen/tokens.json にキャッシュされ、自動更新されます。環境変数は不要です。

ツール

ツール

機能

スコープ

list_models

すべての画像/動画モデルを検索

(公開)

get_credits

残りのクレジット残高を確認

kairogen:read

estimate_cost

生成前にクレジットコストをプレビュー

(公開)

generate_image

1枚以上の画像を生成。完了まで待機(デフォルト10分)

kairogen:generate

generate_video

動画を生成(テキストから動画、または画像から動画)。完了まで待機(デフォルト15分)

kairogen:generate

upscale_image

Topaz Photo AIを使用して画像を2倍または4倍にアップスケール

kairogen:generate

get_generation

前回の生成ステータスをポーリング

kairogen:read

すべての generate_* ツールは wait_for_completion: false をサポートしており、即座に generation_id を返して get_generation でポーリングできるようにします。ポーリング中、5秒ごとにMCPの notifications/progress ハートビートを送信するため、Claude DesktopやCursorなどでライブ進捗インジケーターが表示され、レンダリング中に接続がタイムアウトすることはありません。

設定

環境変数(すべて任意、適切なデフォルト値あり):

変数

デフォルト

目的

KAIROGEN_API_BASE

https://api.kairogen.ai

ステージングやセルフホスト用の上書き

KAIROGEN_ISSUER

https://api.kairogen.ai

OAuth発行者のベースURL

KAIROGEN_CLIENT_ID

kairogen-mcp

事前登録済みのOAuthクライアントID

KAIROGEN_API_KEY

(空)

OAuthを上書きして静的トークンを使用(CI / ヘッドレス用)

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 が必要です。これは /.well-known/oauth-protected-resource 内の authorization_servers フィールドを埋めるためのもので、MCPクライアントがOAuthフローの実行場所を検出するために使用されます。複数の発行者が必要な場合はカンマ区切りで指定します。

OAuth発行者に必要なバックエンド環境変数

認証サーバー(kairogen-backend-development)のデプロイ環境で以下を設定する必要があります:

変数

必須

目的

OAUTH_JWT_PRIVATE_KEY

はい (本番)

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開発時は http://localhost:3000(またはNuxt開発サーバーの実行場所)に上書きしないと、同意エンドポイントが403になります。

OAUTH_INTROSPECTION_SECRET

任意

32文字以上のランダム文字列。空にすると /oauth/introspect が無効化されます。

CORS_ORIGINS

はい (本番)

オリジンのカンマ区切り許可リスト。本番環境で空にすると、すべてのクロスオリジンリクエストが拒否されます。同意ページを許可するには 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 初回実行時のstdioでのOAuthデバイスフロー

  • [x] v0.3 mcp.kairogen.ai でのホスト型Streamable HTTP

  • [ ] v0.4 リソース (kairogen://models, kairogen://prompt-guide/{model})

  • [ ] v0.5 より高度なツールとしてのMarketing Studio + Cinema Controlフロー

ライセンス

MIT

Related MCP Connectors