Skip to main content
Glama

Kairogen MCP

Kairogen 的模型上下文协议 (MCP) 服务器。连接 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 登录 → 批准 (Approve)

Cursor (~/.cursor/mcp.json)

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

重启 Cursor,并在提示时点击连接。

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

远程受 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

生成一张或多张图像。阻塞直到完成(默认 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 服务器 (本仓库) 是资源服务器。根据已发布的 JWKS 验证后端签发的 Bearer JWT,然后使用用户的令牌将工具调用代理到 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