Kleap について
Kleapは、AIエージェントでウェブサイトやウェブアプリを作成、編集、公開、管理するCLI兼MCPサーバーです。ホスティングに加えて、ドメイン、データベース、フォーム、分析機能を備え、実際に表示できることを確認してから公開済みとします。
主な機能
- 01プロンプトによるサイト作成と変更
- 02ファイル編集と画像生成
- 03サイト公開と稼働確認
- 04ドメインとアプリ用データベースの管理
- 05フォーム、分析、検索データの参照
活用シーン
- 01エージェントでランディングページを作成・公開
- 02サイトを編集して再デプロイ
- 03独自ドメインを接続してDNSを確認
- 04フォームのリードやサイト流入を確認
MCP 対応
Kleapはローカルのstdio MCPサーバーとして動作するほか、https://kleap.co/api/mcp のホスト型コネクターを提供します。MCPクライアントからサイト作成、編集、公開、ドメイン、データベース、フォーム、分析のツールを利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://kleap.co/api/mcpclaude mcp add --transport http kleaphq-kleap https://kleap.co/api/mcp{"mcpServers":{"kleaphq-kleap":{"type":"http","url":"https://kleap.co/api/mcp"}}}Cursor で開く{"servers":{"kleaphq-kleap":{"type":"http","url":"https://kleap.co/api/mcp"}}}VS Code で開く{"mcpServers":{"kleaphq-kleap":{"type":"http","url":"https://kleap.co/api/mcp"}}}{"mcpServers":{"kleaphq-kleap":{"serverUrl":"https://kleap.co/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
34| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| prompt | string | はい | 構築する Web サイトの詳細な説明 |
| context | string | はい | この呼び出しの理由を短い一文で記述します。コネクターの改善に使用されます。認証情報や個人データは含めないでください。 |
| visibility | enum | いいえ | 検索一覧への掲載を制御します。public = 検索可能、personal = 非公開掲載。どちらも公開アクセス可能な URL にデプロイされる場合があります。personal でもアクセス制御は追加されません。public | personal |
詳細
Kleap — AI エージェント向けウェブサイトインフラストラクチャ
エージェントが構築し、Kleap が公開します。 Claude、ChatGPT、Cursor、Claude Code のような bash ツールを使うエージェントなど、あらゆる AI エージェントに、あなたのために実際に稼働するウェブサイトを構築、編集、公開させましょう。ホスティング、データベース、認証、ドメインが含まれています。
Lovable/v0/Bolt に代わるサービスです。ただし、操作するのはあなたのエージェントであり、公開のたびに稼働確認済みの保証が付いています。サイトがオンラインと報告されるのは、実際に配信されていることが検証できた場合のみです。存在しないリンクをでっち上げることはありません。
このパッケージは CLI(kleap create "…"、kleap publish 42 など)と MCP サーバー(kleap mcp/引数なし)の両方です。同じアカウント、同じ ~/.kleap/config.json の認証情報、同じ /api/v1 REST API を使用します。エージェントに合った方を選んでください。シェル/bash ツールを使うエージェント(Claude Code、cron スクリプト、CI)には、呼び出しごとに簡潔な 1 行で済み、JSON-RPC のラッパーが不要な CLI が適しています。MCP ネイティブのクライアント(Claude Desktop、Cursor、ChatGPT コネクター)には、このパッケージがそのまま提供する MCP サーバーが適しています。

上記は実際の実行例です。エージェントが
write_filesでコードを書き、publish_appがビルドしてデプロイすると、数秒でページが稼働します。または、Kleap の AI に普通の言葉で頼むだけでもかまいません。
このパッケージにシークレットは含まれていません。自身の KLEAP_API_KEY(または kleap auth login で保存したトークン)を読み込み、kleap.co とのみ通信します。
CLI(エージェントのシェル向け — Claude Code、Codex、スクリプト)
エージェントが MCP ではなくbash ツールを使う場合は、CLI を直接使用してください。
出力はデフォルトで 1〜3 行(トークン効率に優れ、人間のターミナルではなく、エージェントが自身のツール出力を読み取る用途向け)で、終了コードはシンプル(0/1)です。完全な構造化レスポンスが必要な場合は、いつでも --json フラグを使えます。
npx -y kleap-cli auth login # opens your browser once, no key to paste
# — or, for CI / non-interactive: npx -y kleap-cli auth key kleap_live_sk_...
npx -y kleap-cli create "a one-page site for my bakery, warm palette"
# ✓ created app 4821 — https://warm-bakery-fold.kleap.io
npx -y kleap-cli edit 4821 "change the headline to 'Roasted slow'"
# ✓ edited app 4821 — https://warm-bakery-fold.kleap.io
npx -y kleap-cli publish 4821
# ✓ published https://warm-bakery-fold.kleap.io
npx -y kleap-cli status warm-bakery-fold.kleap.io # by id, slug, kleap.io URL, or connected custom domain
# ✓ Bakery (4821) — live: https://warm-bakery-fold.kleap.io
コマンド
| コマンド | 機能 |
|---|---|
kleap auth login | ブラウザー経由でサインインします(OAuth、PKCE ループバック)。キーをコピーする必要はありません |
kleap auth key <KEY> | 代わりに kleap_live_sk_... キーを保存します(CI/非対話型環境向け) |
kleap auth logout / kleap auth status | 現在の認証情報を消去/表示します |
kleap create "<prompt>" [--visibility public|personal] [--webhook <url>] [--no-wait] [--json] | サイトを作成し、ビルドが完了するまで待機して(約5~15分)、公開 URL を表示します |
kleap edit <app> "<prompt>" [--webhook <url>] [--no-wait] [--json] | Kleap の AI にサイトの変更を依頼し、再デプロイが完了するまで待機します |
kleap publish <app> [--no-wait] [--json] | 公開済みであることを確認してから公開/再デプロイします |
kleap status <app> [--json] | 名前、ID、公開 URL または「未公開」を1行で表示します |
kleap list [--limit N] [--q text] [--json] | アプリをタブ区切りで1行ずつ表示します:id name url |
kleap domains search <query> [--tlds .com,.io] [--json] | 利用可能なドメインを1行ずつ表示します |
kleap domains connect <domain> <app> [--json] | 所有するドメインを接続し、設定する A レコードを表示します |
kleap screenshot <app> | プレビューのスクリーンショットを撮影し、その URL を表示します |
kleap task <task_id> [--wait] / kleap task retry <task_id> [--wait] | create/edit タスクの状態を表示します(--wait でロングポーリング)/失敗したタスクを再開します |
kleap rename <app> <name> · kleap wake <app> · kleap messages <app> · kleap credits | 名前を変更します(URL は変更されません) · プレビュー用サンドボックスを起動します · チャット履歴を表示します · クレジット残高とプランを表示します |
kleap files ls <app> · files cat <app> <path...> | ソースのパスを一覧表示します · ファイルの内容を表示します |
kleap files write <app> <path> --file <local> | --stdin | --content "<text>" | ファイルを書き込みます(バイナリ拡張子は自動的に base64 に変換されます。最大512 KB)。その後、publish を実行します |
kleap files edit <app> <path> --find "<old>" --replace "<new>" [--all] | ファイル内のテキストを置換します |
kleap files rm <app> <path...> | ページ/アセットを削除します(次回の publish まで公開状態は変わりません) |
kleap image <app> <public/name.webp> "<prompt>" [--hd] | サイトに画像を生成します。その後、publish を実行します |
kleap forms <app> [--since ISO] [--limit N] | フォーム送信(リード)を新しい順に表示します。--json ではフラット化されます |
kleap analytics <app> [--period 7d|30d|90d] | 訪問者数、ページビュー数、人気のページを表示します |
kleap search-console <app> · search-console connect <app> | Google 検索の数値を表示します · ユーザーが開く同意リンクを表示します |
kleap db schema <app> | アプリの Postgres のテーブル、行数、列を表示します |
kleap db rows <app> <table> [--where json] [--limit] [--offset] [--order-by col --order asc|desc] | 行を読み込みます(1行につき1つの JSON オブジェクト) |
kleap db insert <app> <table> '<json>'|--file rows.json | 1つのオブジェクトまたは配列を挿入します(500件ごとに分割) |
kleap db update <app> <table> --where json --set json · db delete <app> <table> --where json | --where は必須で、空であってはなりません |
kleap db sql <app> "<sql>" [--params json] | $1..$n パラメーターを使った SQL 文を1つ実行します(オーナーレベル:SELECT でも database:write が必要。上限は500行/5 MB) |
kleap domains buy <domain> [--years N] [--app <app>] | Stripe のチェックアウトリンクを作成します。ユーザーが支払います。支払いが行われるまでは購入されません |
kleap domains check <domain> | DNS/接続状態を確認します(有料ドメインが登録されたかどうかも確認できます) |
kleap mcp | MCP stdio サーバーを明示的に起動します(引数なしの場合と同じです) |
<app> には、数値のアプリ ID、slug.kleap.io URL、スラッグのみ、
または接続済みのカスタムドメインを指定できます。1回の呼び出しで
サーバー側が解決します(GET /apps/resolve)。MCP の find_app ツールと同じです。
例:Claude Code/bash-tool エージェント
# One-shot: build it, publish it, hand back a URL a human can click.
url=$(npx -y kleap-cli create "a landing page for my podcast" --json | node -e \
'let d="";process.stdin.on("data",c=>d+=c).on("end",()=>console.log(JSON.parse(d).url))')
echo "Live: $url"
# Non-blocking flow (agent does other work while it builds):
npx -y kleap-cli create "a landing page for my podcast" --no-wait --json # → { task_id, app_id, ... }
# ... later ...
npx -y kleap-cli status 4821
終了コードは常に明確です。成功時は 0、失敗時は 1 となり、stderr に
✗ <reason> の1行(--json の場合は {"error":{"message":...}})を出力します。
そのため、文章を解析せずに $?/try/except subprocess.run(..., check=True) で安全に確認できます。
一度だけインストール(任意 — 上記の npx -y はインストール不要です)
npm i -g kleap-cli
kleap auth login
kleap create "a one-page site for my bakery"
MCP サーバー(MCP ネイティブクライアント向け — Claude Desktop、Cursor、ChatGPT)
同じパッケージ、同じアカウント、同じ ~/.kleap/config.json 認証を使い、bash ツールではなく MCP を使うクライアント向けに、トランスポートだけを変更します。
最も簡単 — OAuth で接続、キー不要
ホスト型コネクターを追加してサインインします。生成も貼り付けも不要です。他のアプリと同じように、ブラウザーで Kleap を認証するだけです。Claude Desktop、ChatGPT、Cursor で使えます。
https://kleap.co/api/mcp
- Claude Desktop — Settings → Connectors → Add custom connector → URL を貼り付け → Connect → Kleap にサインインします。
- ChatGPT — Settings → Connectors → URL を追加 → OAuth で認証します。
- Cursor — Settings → MCP → Add server → URL を貼り付け → 認証します。
これで完了です。OAuth でサインインすると、ホスト型ツールがすべて(以下に記載の 33 個と upgrade_plan を合わせた 34 個)利用できます。手順 3 に進んでください。
または — ローカル CLI、ブラウザーでサインイン(キー不要)
ローカルの stdio プロセスを使いたい場合は、一度サインインするだけです。キーを生成したり貼り付けたりする必要はありません。
npx kleap-cli auth login
ブラウザーが開くので、Kleap を認証します。トークンは
~/.kleap/config.json に保存されます。その後は npx -y kleap-cli を実行するだけで使えます。(kleap auth logout / kleap auth status も利用できます。)次に、クライアントにキー不要の stdio エントリーを追加します。例として、Claude Desktop の claude_desktop_config.json の場合:
{ "mcpServers": { "kleap": { "command": "npx", "args": ["-y", "kleap"] } } }
または — API キーを使うローカル CLI
キーを使いたい場合(CI や REST API を直接スクリプトから呼び出す場合など):
1. API キーを取得する — kleap.co/settings/api-key を開き、Create my API key(kleap_live_sk_...)をクリックします。
2. AI クライアントに Kleap を追加する:
Claude Desktop — claude_desktop_config.json
{
"mcpServers": {
"kleap": {
"command": "npx",
"args": ["-y", "kleap"],
"env": { "KLEAP_API_KEY": "kleap_live_sk_..." }
}
}
}
Cursor — .cursor/mcp.json
{
"mcpServers": {
"kleap": {
"command": "npx",
"args": ["-y", "kleap"],
"env": { "KLEAP_API_KEY": "kleap_live_sk_..." }
}
}
}
Claude Code — コマンド 1 つ
claude mcp add kleap -e KLEAP_API_KEY=kleap_live_sk_... -- npx -y kleap-cli
Cline / Roo(VS Code) — cline_mcp_settings.json
{
"mcpServers": {
"kleap": {
"command": "npx",
"args": ["-y", "kleap"],
"env": { "KLEAP_API_KEY": "kleap_live_sk_..." }
}
}
}
Windsurf — ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"kleap": {
"command": "npx",
"args": ["-y", "kleap"],
"env": { "KLEAP_API_KEY": "kleap_live_sk_..." }
}
}
}
ChatGPT とホスト型エージェント — ローカルプロセス不要
ホスト型コネクター https://kleap.co/api/mcp を追加して、OAuth で認証するか、kleap_live_sk_ キーを貼り付けます。同じツールをインストール不要で使えます。
すべての stdio 設定は同じです —
npx -y kleap-cliとKLEAP_API_KEY環境変数を使います — そのため、どの MCP クライアントでも動作します。
最小権限のキー: キーを生成するときに、スコープを選択します — 読み取り専用 (サイトを確認するだけで、変更はできません)、Build、または Full。ドメインの購入はデフォルトでは含まれません。読み取り専用エージェントには、読み取り専用キーを付与してください。
3. クライアントを再起動して、依頼するだけです:
「ベーカリーの 1 ページサイトを作って公開し、公開 URL を教えてください。」 「サイトに問い合わせフォームを追加して再デプロイしてください。」 「見出しを『ゆっくり焙煎』に変更して公開してください。」
MCP 対応のあらゆるエージェントで動作します:Claude · ChatGPT · Cursor · Claude Code · Codex。
ツール
検索と構築 — find_app · create_app · modify_app · check_task · retry_task · rename_app · get_screenshot · wake_app
ファイル — list_app_files · read_files · write_files · edit_files · delete_files · generate_image
公開とドメイン — publish_app · get_publish_status · search_domains · buy_domain · check_domain · connect_domain
リード、トラフィック、SEO — get_form_submissions · get_analytics · get_search_console · connect_search_console
データベース — get_database_schema · query_database_rows · insert_database_rows · update_database_rows · delete_database_rows · run_database_sql
アカウント — list_apps · get_app · get_credits
| ツール | 機能 |
|---|---|
find_app | ドメイン/URL/スラッグを1回の呼び出しで app_id に解決します |
create_app / modify_app | プロンプトからサイトを構築する/AI に変更を依頼する → タスクを返します(自動でデプロイされ、公開状態になります) |
check_task / retry_task | タスクをロングポーリングする(wait は最大50秒)/失敗したタスクを再開する(新しい task_id) |
read_files → edit_files / write_files / delete_files | 現在の内容を読み取り、変更が必要な箇所だけを変更します(バイナリには base64 を使用) → publish_app |
generate_image | バイトデータを送信せずに、実際の画像を public/ に生成します |
publish_app / get_publish_status | 公開し、公開状態を検証します。状態を確認し、デプロイ後のレポートを読み取ります |
search_domains / buy_domain | ドメインを検索する/チェックアウトリンクを作成します 支払いはユーザーが行います(エージェントが購入することはありません) |
connect_domain / check_domain | ユーザーが所有するドメインを接続する/その DNS ステータスを確認します |
get_form_submissions | サイトのリードを新しい順に取得します(新しいものだけを取得するには since を指定します) |
get_analytics / get_search_console / connect_search_console | トラフィック/Google 検索の数値/Search Console の同意リンク |
get_database_schema … run_database_sql | アプリの Postgres:スキーマ、行の CRUD(更新/削除には where が必要です)、SQL |
rename_app / get_screenshot / wake_app | 名前を変更する(URL は変わりません)/スクリーンショットの URL を取得する/プレビュー用サンドボックスを起動する |
list_apps / get_app / get_credits | アプリ一覧、1つのアプリの詳細、クレジット残高とプラン |
データベースツールとチェックアウトツールには database:* / domains:checkout スコープが必要です。これらが追加される前に作成されたキーでは 403 INSUFFICIENT_SCOPE が返されます。Full プリセットを使って新しいキーを作成してください。
アプリの引数はスネークケースです:app_id、task_id、prompt、message、visibility。
レシピ
サイトにコードを反映する方法は 2 つあります。タスクに応じて選んでください:
write_files(確定的): あなたのモデルが正確なファイル内容を書き、あなたがそれをプッシュすると、Kleap がそのままビルドしてデプロイします。Kleap-AI のステップがないため、Kleap クレジットは消費せず、処理が止まることもありません。その後、publish_appを実行します。Lovable/v0/Bolt とは異なり、エージェント自身がコードを書けます。modify_app(Kleap の AI): 平易な英語で結果を説明すると、Kleap の AI がコードを書きます。Lovable のメッセージパッシングと同様です。変更内容の判断を任せたい場合に使えるよう残してあります。
どちらの方法でも、Kleap がホスティングします(ビルド、デプロイ、SSL、DB、認証、ドメイン、公開確認)。
- 既存のファイルを安全に編集する(やみくもに書き換えない) —
list_app_files(app_id)→read_files(app_id, ["src/components/Header.astro"])→ 自分のモデルで変更が必要な箇所だけを編集 →write_files(app_id, [{ path, content }])→publish_app(app_id)。この読み込み→編集→書き込みのループは、サイトのほかの部分を壊さずにヘッダー/フッター、誤った電話番号、壊れたリンク、動作しないフォームを修正するための確実な方法です。 - アドレスを指定してサイトを編集する —
find_app("mysite.ch")→read_files(...)→write_files(...)→publish_app(...)、またはmodify_app(app_id, "…")→check_task(task_id, wait=45)。 - 多数のページ(プログラムによる SEO)— 最適: 自分のモデルで動的ルートとデータファイルを生成し、1 回の
write_filesでプッシュしてから、publish_appを実行します:write_files(app_id, [{ path: "src/pages/[service]/[city].astro", content: … }, { path: "src/data/locations.json", content: … }])→publish_app(app_id)確定的で、数千ページに拡張でき、処理が止まらず、クレジットも消費しません。(または、同じことを 1 回のmodify_appで Kleap の AI に依頼できます。ページごとに呼び出しを繰り返すのは避けてください。) - 5~15 分のビルドを付きっきりで監視しない —
check_taskはロングポーリングします(デフォルトはwait=45)。または、完全に手放しで処理するにはcreate_app/modify_appにwebhook_urlを渡します。 - ビルドに失敗した —
TASK_TIMEOUT/STALE_TASKは一時的なエラーです。retry_taskを呼び出してください。新しい task_id が返されるので、そのタスクをポーリングします。TASK_FAILEDの場合はメッセージを読み、一度だけ再試行してください。
公開確認の保証
ほとんどのツールは、デプロイがリクエストされた時点でエージェントに「オンラインです」と伝えます。Kleap は、新しいバージョンがライブ URL で実際に提供されていることを確認できた場合に限り、サイトを公開済みと報告します。確認できない場合はロールバックし、「公開を確認できません」と報告します。エージェントがユーザーにリンク切れの URL を渡すことはありません。
check_task が failed(一時的な生成停止)を報告した場合は、その task_id を指定して retry_task を呼び出すと、停止した箇所から再開できます。ポーリング用の新しい task_id が返され、途中までの作業も保持されます。または、AI を使わずに自分で正確なコードを write_files し、その後 publish_app を実行できます。
FAQ
API キーは必要ですか? いいえ。最も簡単な方法は OAuth コネクター
(https://kleap.co/api/mcp)です。ブラウザーでサインインすれば、キーをコピーする必要はありません。API キーが必要なのは、ローカル CLI または REST を直接利用する場合のみです。
安全ですか? はい。OAuth と API キーのどちらで接続しても、エージェントが操作できるのはあなた自身の Kleap アプリだけです。OAuth トークンと kleap_live_sk_ キーはスコープが設定され、HTTPS 経由でのみ送信され、いつでも失効できます(**https://kleap.co/settings/api-key**)。`kleap auth login/kleap auth keyの認証情報は~/.kleap/config.json(権限 0600)に保存されます。**kleap auth logout はこのファイルを削除します**。保存された OAuth ログインは**発行元のオリジンに紐付けられます**。KLEAP_API_URL が別の場所を指している場合、CLI はトークンの送信を拒否します(CREDENTIAL_ORIGIN_MISMATCH)。これにより、悪意のあるエンドポイントや入力ミスのエンドポイントにトークンが取得されるのを防ぎます。カスタムエンドポイント(例:ステージング)では、KLEAP_API_KEYまたはkleap auth key` を使用してください。明示的に指定したシークレットは、指定した接続先に送信されます。詳しくは SECURITY.md をご覧ください。
料金はいくらですか? 接続は無料です。ビルドと編集には Kleap クレジットを使用します(get_credits で残高を確認できます)。料金をご覧ください。
どのエージェントが使えますか? 任意の MCP クライアントで利用できます。Claude Desktop、Claude Code、Cursor、ChatGPT(ホスト型コネクター)などに対応しています。
要件と実行
Node ≥ 18。直接実行します:
KLEAP_API_KEY=kleap_live_sk_... npx -y kleap-cli
# → [kleap-mcp] ready (stdio) → https://kleap.co. Tools: list_apps, ...
KLEAP_API_URL で API のベース URL を上書きできます(デフォルトは https://kleap.co)。
キーがない場合は、明確なメッセージを表示してサーバーが終了します。注:保存済みの OAuth ログインは、認証情報が発行されたオリジンに対してのみ機能します。カスタムの KLEAP_API_URL を使用する場合は、代わりに KLEAP_API_KEY または kleap auth key で認証してください(SECURITY.md を参照)。
リンク
- Kleap:https://kleap.co · MCP と CLI のページ:https://kleap.co/mcp
- 問題報告とセキュリティ:https://github.com/kleaphq/cli/issues
Kleap チームがメンテナンスしています。MIT © Kleap。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。