leapfrog について
leapfrog は、AI エージェント向けのマルチセッション対応ブラウザー MCP サーバーです。分離された並列セッションに加え、ページ分類、差分スナップショット、ステルス機能、訪問を通じた学習を備えています。
主な機能
- 01最大 15 個の分離並列セッション
- 02複数タブ・ネットワーク傍受・一括操作
- 03ページ分類と差分スナップショット
- 04ステルスパッチと適応型待機
- 05セッションの記録・再生・メモリー
- 06ドメインごとの学習結果の保存
活用シーン
- 01複数のブラウザータスクの並列処理
- 02ページスナップショットの重複内容の削減
- 03記録したブラウザー操作の再生
- 04チャレンジのあるサイトでの待機・ステルス設定の調整
MCP 対応
AI エージェントに、ブラウザーセッション、ナビゲーション、ページスナップショットなどの自動化ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
37掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cdp | string | いいえ | 実行中の Chrome インスタンスに接続する CDP エンドポイント URL(例:'http://localhost:9222')。 |
| proxy | object | いいえ | セッションごとのプロキシ設定。各セッションで異なるプロキシを使用できます。 |
| proxy.bypass | string | いいえ | プロキシをバイパスするドメインをカンマ区切りで指定します(例:'localhost,.example.com')。 |
| proxy.server | string | はい | プロキシサーバー URL(例:'http://proxy:8080', 'socks5://proxy:1080')。 |
| proxy.password | string | いいえ | プロキシ認証パスワード。 |
| proxy.username | string | いいえ | プロキシ認証ユーザー名。 |
| headed | boolean | いいえ | このセッションで UI を表示してブラウザーを実行します。LEAP_HEADED 環境変数の設定を上書きします。 |
| locale | string | いいえ | ブラウザーのロケール(例:'en-US', 'fr-FR')。 |
| pinned | boolean | いいえ | アイドルタイムアウトによるクリーンアップを防ぐため、このセッションを固定します。 |
| profile | string | いいえ | プロファイルの略称(例:'github'、'gmail')。~/.leapfrog/chrome-profiles/{name}/ の永続 Chrome プロファイルを使用します。 |
| stealth | boolean | いいえ | このセッションのステルスモードを有効/無効にします。デフォルト:true(グローバル設定を使用)。 |
| clientId | string | いいえ | クライアントごとのプール分割に使用するクライアント識別子です。LEAP_MAX_SESSIONS_PER_CLIENT と併用します。 |
| viewport | object | いいえ | カスタムビューポート。デフォルト:1280x720。 |
| viewport.width | number | はい | |
| viewport.height | number | はい | |
| userAgent | string | いいえ | カスタム User-Agent 文字列。 |
| extensions | array | いいえ | 読み込む未パッケージ化 Chrome 拡張機能のパス。 |
| timezoneId | string | いいえ | タイムゾーン ID(例:'America/New_York'、'Europe/London')。 |
| colorScheme | enum | いいえ | 優先するカラースキーム。light | dark | no-preference |
| geolocation | object | いいえ | エミュレートする位置情報。 |
| geolocation.accuracy | number | いいえ | |
| geolocation.latitude | number | はい | |
| geolocation.longitude | number | はい | |
| permissions | array | いいえ | 付与する権限(例:['geolocation', 'notifications'])。 |
| profilePath | string | いいえ | 認証済みセッション用 Playwright storageState JSON ファイルのパス。 |
| acceptDownloads | boolean | いいえ | ダウンロードを許可するかどうか。デフォルト:true。 |
詳細
Leapfrog
AI エージェント向けのマルチセッションブラウザー MCP。
36 個のツール。15 個の並列セッション。ステルス。HUD。自己改善。トークンを最大 10 分の 1 に削減。
npm i leapfrog-mcp | Claude Code、Cursor、Windsurf で動作
問題
Playwright MCP は、Hacker News のようなコンテンツ量の多いページで約 14,000 トークンを送信します。その大半はノイズです。コンテキストウィンドウがいっぱいになり、エージェントは混乱し、その分のコストがかかります。
Leapfrog が送信するのは約 1,400 トークンです。同じページ。同じ情報。ノイズを最大 10 分の 1 に削減します。
┌─────────────────────────────────────────────────────┐
│ Playwright MCP │
│ ████████████████████████████████████████ ~14,000 │
│ │
│ Leapfrog │
│ █████ ~1,400 │
└─────────────────────────────────────────────────────┘
tokens per page (Hacker News, real test)
削減率はページの複雑さに応じて 2〜10 倍です。コンテンツ量の多いページで最大の効果が得られます。密度の高いフォームでは効果が最も小さくなります。実際のサイト全体での中央値は約 4〜5 倍です。
クイックスタート
npx leapfrog-mcp --doctor # verify everything works
npx leapfrog-mcp --stealth-audit # test all 19 stealth patches
npx leapfrog-mcp --config # print MCP config to paste
~/.mcp.json(Claude Code)またはエディターの MCP 設定に追加します。
{
"leapfrog": {
"command": "npx",
"args": ["-y", "leapfrog-mcp"],
"env": {
"LEAP_MAX_SESSIONS": "15",
"LEAP_TILE": "true",
"LEAP_HUD": "true",
"LEAP_AUTO_CONSENT": "true"
}
}
}
Leapfrog は playwright(1.6GB)の代わりに playwright-core(15MB)を使用し、ブラウザーをバンドルしません。次のいずれかを選択してください。
LEAP_CHANNEL=chromeを設定して、インストール済みの Chrome/Chromium を使用します(推奨)- または
npx playwright-core install chromiumを実行して、バンドルされた Chromium バイナリをインストールします - または
LEAP_CDP_ENDPOINTを設定して、すでに実行中の Chrome インスタンスに接続します
機能一覧
| Leapfrog | Playwright MCP | agent-browser | |
|---|---|---|---|
| ページあたりのトークン数 | 約 1,200〜2,500 | 約 3,800〜15,000 | 約 300 |
| 並列セッション | 15 | 1 | 1 |
| セッションの分離 | はい | いいえ | いいえ |
| 複数タブ/ポップアップ | はい | いいえ | いいえ |
| ネットワークのインターセプト | はい | いいえ | いいえ |
| コンソールの取得 | はい | はい | いいえ |
| ステルス/ボット対策 | はい | いいえ | いいえ |
| スマート待機(5 種類) | はい | 基本機能 | いいえ |
| クラッシュからの復旧 | はい | いいえ | いいえ |
| バッチ操作(1 回あたり 100 件) | はい | いいえ | いいえ |
| 初期化スクリプトの挿入 | はい | はい | いいえ |
| ドラッグ/アップロード/サイズ変更 | はい | はい | いいえ |
| セッションごとのプロキシ | はい | いいえ | いいえ |
| 人間らしい操作(オプトイン) | はい | いいえ | いいえ |
| 認証プロファイルの再利用 | はい | いいえ | いいえ |
| Cookie の永続化 | はい | いいえ | いいえ |
| ページの分類(18 種類) | はい | いいえ | いいえ |
| セッションメモリ | はい | いいえ | いいえ |
| API インテリジェンス | はい | いいえ | いいえ |
| 適応型待機+自動再試行 | はい | いいえ | いいえ |
| CAPTCHA の自動解決 | はい | いいえ | いいえ |
| 自己改善(9 次元) | はい | いいえ | いいえ |
| 記録/再生 | はい | いいえ | いいえ |
| ページネーションの抽出 | はい | いいえ | いいえ |
| 増分スナップショット(差分) | はい | いいえ | いいえ |
| ステルス自己テスト CLI | はい | いいえ | いいえ |
| SSRF 対策 | はい | いいえ | いいえ |
ステルス
Leapfrog では、19 個のアンチ検出パッチがデフォルトで有効になっています(LEAP_STEALTH=true)。モードは 4 種類です。
true(デフォルト)— 19 個すべてのパッチが有効passive— 自動化のシグナルのみを取り除きます(webdriver、HeadlessChrome)。ID の偽装(WebGL、フォント、オーディオ)は行いません。回避よりも信頼性が重視されるサイトに適しています。auto— ドメインごとの EXP3 バンディットにより、これまでの実績に基づいて最適なステルス設定を選択しますfalse— ステルスパッチなし
これらは、CreepJS や fingerprint-pro などのフィンガープリントサービスが確認する以下のベクトルをカバーします。
- Client Hints のブランド(HeadlessChrome を除去)
navigator.webdriverをundefinedに設定- WebGL のベンダー/レンダラー(SwiftShader を実際の GPU 文字列に置き換え)
- 接続 RTT(ゼロ以外)
- アラートの閉じるタイミング(人間の速度に合わせた遅延)
- ウィンドウの外側と内側の高さの差
- MIME タイプ配列の設定
- ユーザーエージェントからのプラットフォーム推定
chrome.appのエミュレーション- iframe の
contentWindow保護 - メディアコーデックの偽装(
canPlayType) document.hasFocus()のオーバーライド- ソース URL コメントの除去
- カスタム UA とステルスの共存(カスタムユーザーエージェントを設定しても、ステルスコンテキストが無効にならなくなりました)
- CDP の
Runtime.enable検出(Error.prepareStackTraceフィルター) - Permissions API の偽装(20 種類以上の権限タイプ)
- AudioContext のフィンガープリントノイズ(
getChannelData/getFloatFrequencyData) - WebRTC の IP 漏えい防止(ICE 候補のフィルタリング)
- フォント列挙フィンガープリントの偽装
セッションごとのステルス制御:特定のセッションで無効にするには、session_create に stealth: false を渡します。
人間らしさの再現(実験的機能)
LEAP_HUMANIZE=true を設定すると、人間らしいブラウザー操作が有効になります。この機能はオプトイン方式で、より自然な動作と引き換えに遅延が増加します。モジュールは 6 種類です。
- マウス — フィッツの法則に基づくタイミングと微細な揺らぎを伴う、ベジェ曲線による移動経路
- タイピング — 対数正規分布によるキー間遅延(中央値 200ms)、キー押下時間、バイグラムを考慮した速度、ロールオーバー入力
- スクロール — 加速と慣性減衰を伴う慣性シミュレーション(タッチパッド/マウスホイールの物理特性)
- 一時停止 — 操作間に認知的な間隔を再現する「考える」ための遅延
- フィンガープリント — 一貫性のあるブラウザーフィンガープリントの生成(プラットフォーム、デバイスメモリ、GPU、タイムゾーン)
- ユーティリティ — 共通の数値計算プリミティブ(Box-Muller ガウス分布、分布)
ページ分類
すべての navigate と snapshot の呼び出しでは、重み付きシグナルスコアリングを使用してページタイプが自動的に分類されます(LLM は不要です)。タイプは 18 種類です。
login · search-results · product · product-list · checkout · article · dashboard · form · error · challenge · landing · documentation · profile · media · feed · qa · ecommerce · unknown
分類によってスナップショットの抽出が最適化されます。ログインページではフォームフィールド、記事ページではコンテンツ、ダッシュボードではインタラクティブ要素が優先的に表示されます。
ハーネスインテリジェンス
ハーネスはセッション内のすべての操作を追跡し、結果を分類します。
- 操作結果の分類 —
SUCCESS、SILENT_CLICK、NAVIGATION、WRONG_ELEMENT、BLOCKED、ERROR、PENDING - ボットリダイレクトの検出 — 操作後にサイトがチャレンジページまたはブロックページへリダイレクトしたことを検出します
- ループの検出 — エージェントが同じ要素をクリックし続ける、URL 間を行き来する、または操作を繰り返す場合に警告します
- セッションメモリ —
session_memoryツールを使うと、コンテキストウィンドウの圧縮後に操作を思い出せます
Cookie の永続化
永続ブラウザープロファイルでは、storageState() の代わりに context.cookies() と addCookies() を使用するようになりました。永続コンテキストでは storageState() が空を返すためです。認証状態はセッションをまたいで保持されます。
適応型待機とステルスエスカレーション
Navigate はページの読み込みに失敗した場合、フォールバック戦略を使って自動的に再試行します。
loadを試します(最速)。空の場合はnetworkidleで再試行します(上限10秒)。networkidleがタイムアウトした場合(Amazon や広告の多いサイトなど)、domcontentloadedにフォールバックします。- ブロックまたはチャレンジが検出された場合は、ステルスを段階的に強化します。ランダムな遅延 → JS チャレンジの待機 → 新しいフィンガープリントでセッションをローテーションします。
- プロファイルセッション(認証済み)のセッションは破棄されません。エスカレーションの上限はレベル2です。
navigate で autoRetry: false を指定すると、再試行を無効にできます。maxRetryLevel(0~5、デフォルトは3)でエスカレーションの最大レベルを設定できます。
記録/再生
セッションのアクション履歴を再生可能な記録としてエクスポートし、新しいセッションで再生できます。
session_export— セッション履歴から、パラメーター化された JSON または Playwright スクリプトを作成します。@eN参照は安定した CSS セレクターに解決されます。メールアドレス、パスワード、URL を自動検出し、{{placeholders}}に置き換えます。session_replay— パラメーターを上書きして記録を再生します。onError: 'stop'または'skip'に対応しています。
一度限りのエージェントワークフローを、再利用可能な自動化に変えられます。
ページネーション抽出
1回のツール呼び出しで、複数のページにまたがるデータを抽出できます。
- 次へボタンのクリック — 「次へ」ボタン、ページネーションリンク、「さらに読み込む」ボタンを自動検出します。
- 無限スクロール — スクロールし、DOM ハッシュの比較によって新しいコンテンツを待ちます。
- URL パターン —
?page={page}またはカスタムパターンの値を増やします。
ページごとに必要なツール呼び出しを3~4回削減できます。上限は50ページ、合計100K文字です。次へボタンがない場合、ページが空の場合、重複コンテンツを検出した場合、またはボット検出を検知した場合に停止します。
差分スナップショット
diff ツールは、前回のスナップショット以降に変化した部分(追加、削除、変更)のみを返します。監視やポーリングのワークフローでトークンを大幅に節約できます。
HUD オーバーレイ(LEAP_HUD=true)
ヘッド付きで実行すると、Leapfrog が各セッションに視覚的なフィードバックを重ねて表示します。
- クリックの波紋 — クリック座標に広がる緑色の円(エージェントのアクションのみ)
- ターゲットのズーム — クリックした要素をブラウザーで一時的に1.15倍に拡大するため、タイル表示されたウィンドウでもエージェント(および人間)が何が起きているかを目で追えます。
- ターゲットへのスクロール — クリック前に scrollIntoView を実行するため、エージェントが次にクリックする箇所を確認できます。
意図的に最小限の設計にしています。枠線、ステータスバー、カーソルオーバーレイはなく、必要なフィードバックだけを表示します。
複数ターミナルのタイル表示(LEAP_TILE=true)
複数の Leapfrog インスタンスがファイルベースの調整機能を使って画面を共有します。各インスタンスが自身のウィンドウを追跡し、TilesCoordinator が画面全体のグリッド位置を割り当てるため、重なりや手動での配置は発生しません。LEAP_TILE=true を設定します(プライマリインスタンスには LEAP_TILE=master を設定します)。タイル間の余白は LEAP_TILE_PADDING で設定できます(デフォルトは8px)。
人間による介入
Leapfrog は CAPTCHA、ログインフォーム、OAuth リダイレクト、Cloudflare チャレンジなど、人間の対応が必要な状況を自動検出し、一時停止する前に自動解決を試みます。
- まず自動解決を試行: reCAPTCHA のチェックボックス、Cloudflare の検証ボタン、一般的な検証/続行ボタンをクリックし、さらに2回目の再試行も行ってから、支援を求めます。
- 外部ソルバー: CapSolver、2Captcha、または NopeCHA との連携には、
LEAP_CAPTCHA_PROVIDERとLEAP_CAPTCHA_API_KEYを設定します。 - 成功した方法を学習: ドメインごとに成功した解決方法を記憶し、再訪時にはその方法を優先して試します。
- reCAPTCHA、hCaptcha、Turnstile、ログインフォーム、OAuth リダイレクト、Cloudflare チャレンジを検出します。
- 介入が必要になると、タブのタイトルが「NEEDS HUMAN」に変わります。
wait_for_humanツール — 行き詰まったときにエージェントが呼び出すと、人間が解決するか、その先へ移動するまで待機します。
Cookie 同意バナーの自動非表示(LEAP_AUTO_CONSENT=true)
10種類のフレームワーク(OneTrust、CookieBot、TrustArc、Quantcast、Didomi、Cookielaw、Osano、Usercentrics、その他汎用のもの)に対応し、テキスト照合によるフォールバックも備えた、Cookie 同意バナーの自動非表示機能です。ドメインごとのセレクターをキャッシュし、再訪時に即座に再生します。
トレース(LEAP_TRACE=true)
セッションごとに Playwright のトレースを記録します。スクリーンショットと DOM スナップショットが含まれます。session_export_trace ツールを使ってエクスポートした ZIP ファイルは、trace.playwright.dev で表示できます。セッションの破棄時に自動保存されます。
自己改善
Leapfrog はアクセスのたびに学習します。ドメインごとのナレッジは ~/.leapfrog/domains/{domain}.json に永続化されます。9 つの項目はすべて自動です。
| # | 項目 | 内容 |
|---|---|---|
| 1 | 待機戦略 | ドメインごとの最適な待機方法(networkidle、domcontentloaded、load)と、実行時間の移動平均を学習します |
| 2 | ステルスレベル | ブロックを検出すると、自動的に 0→3 へ引き上げます(1 時間以内に 2 件以上のブロック)。再アクセス時は学習済みのレベルから開始します |
| 3 | 同意セレクター | Cookie バナーを閉じるセレクターを記憶し、再アクセス時に自動でクリックします |
| 4 | チャレンジ解決 | 効果があった CAPTCHA の方法(reCAPTCHA のチェックボックス、Cloudflare の検証など)を記録し、既知の有効な方法を最初に試します |
| 5 | 安定要素の抑制 | 3 回以上のアクセスで確認されたナビゲーション、フッター、サイドバー要素を特定し、スナップショットから抑制します(成熟したドメインではトークンを 30~40%節約) |
| 6 | セレクターの修復 | 要素のフィンガープリントとセレクターの対応を記憶し、アクセスをまたいで壊れた参照を修復します |
| 7 | API エンドポイントのキャッシュ | 発見した API エンドポイントをセッション間で保持します |
| 8 | インタラクションヒートマップ | エージェントが実際に使用する要素を追跡し、操作されていない要素を抑制します (近日公開) |
| 9 | 戦略の選択 | ステルス設定を最適化する敵対的バンディット(EXP3)です。有効にするには LEAP_STEALTH=auto を使用します。 |
ドメイン数が 500 件を超えると、LRU 方式で削除されます。domain_knowledge ツールで確認できます。
SSRF の強化
URL の検証では、16 進数でエンコードされた IP アドレス(0x7f000001)、8 進数表記(0177.0.0.1)、CGNAT 範囲(100.64.0.0/10)、内部アドレスに解決されるリダイレクトチェーンをブロックします。ローカル開発ワークフローでは、デフォルトで localhost と 127.0.0.0/8 が許可されます。ブロックするには LEAP_BLOCK_LOCALHOST=true を設定してください。
エコシステム
Leapfrog では、覚えやすいように池をモチーフにしています。エージェントはカエルです。
| 概念 | Leapfrog での呼び名 | 意味 |
|---|---|---|
| セッション | 池 | Cookie、ストレージ、状態を分離したブラウザーコンテキスト |
| タブ | ハスの葉 | 池の中でカエルが着地する場所 |
| ナビゲート | ジャンプ | URL に移動し、コンパクトなスナップショットを取得します |
| スナップショット | 水面 | 水面で見えるもの。インタラクティブな @eN 参照 |
| ネットワークトラフィック | 波紋 | 水面下を流れる HTTP リクエスト |
| コンソールエラー | 鳴き声 | ブラウザーで問題が発生したことを示します |
| ステルスモード | カモフラージュ | ボット対策回避パッチ |
全 36 個のツール
池の管理(11)
| ツール | 内容 |
|---|---|
session_create | 新しい池を開きます。Cookie、状態、ビューポート、ロケール、タイムゾーン、ステルス設定、プロキシは分離されます |
session_destroy | 池を空にして、スロットを解放します |
session_list | URL とアイドル時間を含む、アクティブな池の一覧を表示します |
session_save_profile | 今後の池で使えるように、認証状態をディスクに保存します |
session_list_profiles | 保存済みの認証プロファイルを一覧表示します |
pool_status | プールの統計情報、メモリ、稼働時間を表示します |
session_health | 池が正常かどうかを確認します。ブラウザーは接続されているか、ページは応答するかを確認します |
profile_list | 保存済みの永続ブラウザープロファイルを一覧表示します |
profile_delete | 保存済みの永続ブラウザープロファイルとそのデータを削除します |
profile_import_from_chrome | インストール済みの Chrome プロファイルから Cookie と状態をインポートします |
profile_warm | 主要な URL を読み込んで Cookie と状態を確立し、プロファイルを事前にウォームアップします |
ナビゲーションとスナップショット(12)
| ツール | 機能 |
|---|---|
navigate | URL に移動し、簡潔な @eN スナップショットを返します。適応型待機とステルスの段階的強化機能を内蔵しています。 |
snapshot | ページの状態を再取得します(CSS セレクターで範囲を指定) |
diff | 差分スナップショット。前回のスナップショット以降に変更された部分だけを返します |
act | クリック、入力欄への入力、テキスト入力、チェック、選択、キー押下、スクロール、ホバー、マウス移動、ドラッグ、アップロード、サイズ変更、戻る、進む |
batch_actions | 1 回の MCP 呼び出しで最大 100 件のアクションを順次実行し、往復のオーバーヘッドをなくします |
paginate | 1 回の呼び出しで複数ページからデータを抽出します(次へをクリック、スクロール、URL パターン) |
add_init_script | すべてのページ読み込み前に実行され、ページ遷移後も保持される JS を挿入します |
wait_for | 要素、テキスト、ネットワークアイドル、ページ遷移、JS 式を待機します |
screenshot | PNG をキャプチャします(ページ全体または要素) |
extract | テキスト、HTML、タイトル、URL を取得するか、JS を評価します |
session_memory | このセッションで実行したアクションを呼び出します。圧縮後のコンテキスト復元に役立ちます |
session_export | セッション履歴を、再生可能な JSON 記録または Playwright スクリプトとしてエクスポートします |
タブ管理(3)
| ツール | 機能 |
|---|---|
tabs_list | 1 つのポンドにあるすべてのパッドを一覧表示します |
tab_switch | 別のパッドに切り替えます(最新のポップアップは -1) |
tab_close | パッドを閉じます(最後のパッドは閉じられません) |
エージェントインテリジェンス(3)
| ツール | 機能 |
|---|---|
wait_for_human | 人間の介入のために一時停止します。ユーザーが @..@ オーバーレイの「完了」をクリックするまで処理をブロックします |
domain_knowledge | Leapfrog がドメインについて学習した内容(待機戦略、ステルスレベル、エンドポイント)を確認します |
session_export_trace | Playwright のトレース ZIP をエクスポートします。trace.playwright.dev で表示できます |
ネットワークと API のインテリジェンス(7)
| ツール | 機能 |
|---|---|
network_log | HTTP トラフィックを確認します。URL、メソッド、ステータス、コンテンツタイプで絞り込めます |
console_log | ブラウザーのコンソール出力をレベルで絞り込んで読み取ります |
network_intercept | URL パターンに基づいてリクエストをブロック、モック、または記録します |
api_discover | ページが呼び出した JSON API をカテゴリ別(データ、トラッキング、認証、CDN、広告)に分類して一覧表示します |
api_export | 観測された API トラフィックから OpenAPI v3 仕様を生成します |
execute | サンドボックス環境で Playwright スクリプトを実行し、連続する 5~20 回の MCP 往復を置き換えます |
session_replay | パラメーターを上書きして、現在のセッションで記録を再生します |
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
LEAP_MAX_SESSIONS | 15 | 同時セッションの最大数 |
LEAP_IDLE_TIMEOUT | 1800000 | セッションのアイドルタイムアウト(ミリ秒、30 分)。0 に設定すると無効になります。 |
LEAP_HEADLESS | true | ブラウザーを表示するには false に設定します |
LEAP_HEADED | false | ブラウザーを表示するには true に設定します(LEAP_HEADLESS の正の代替設定) |
LEAP_CHANNEL | (bundled chromium) | インストール済みの Chrome を使用するには chrome に設定します |
LEAP_CDP_ENDPOINT | (none) | 実行中の Chrome インスタンスに接続します(例:http://localhost:9222) |
LEAP_EXTENSIONS | (none) | 読み込むブラウザー拡張機能のパスをカンマ区切りで指定します |
LEAP_ALLOW_JS | true | extract および wait_for での JS 評価を許可します |
LEAP_STEALTH | true | ステルスモード:true | passive | auto | false。ステルスのセクションを参照してください。 |
LEAP_STEALTH_PROFILES | false | プロファイル(認証済み)セッションでステルスパッチを有効にします |
LEAP_CDP_STEALTH | true | CDP 検出を回避します(Runtime.enable のフィルタリング) |
LEAP_HUMANIZE | false | 実験的機能です。人間らしいマウスの動き、入力のペース、スクロール動作を実現します。 |
LEAP_ALLOW_EXECUTE | true | execute ツール(サンドボックス化された Playwright スクリプト)を許可します |
LEAP_BLOCK_LOCALHOST | false | localhost/127.x.x.x をブロックします(ローカル開発ではデフォルトで許可されます) |
LEAP_PROFILES_DIR | ~/.leapfrog/chrome-profiles | 永続的なブラウザープロファイルのディレクトリ |
LEAP_TILE | false | セッションをグリッド状に並べます(true | master | false) |
LEAP_TILE_PADDING | 8 | 並べたウィンドウ間の余白(px) |
LEAP_MULTI_TILE | false | Leapfrog インスタンス間で複数ターミナルのタイル配置を調整します |
LEAP_SCREEN_WIDTH | (auto) | タイル配置の計算に使用する画面幅を明示的に指定します |
LEAP_SCREEN_HEIGHT | (auto) | タイル配置の計算に使用する画面の高さを明示的に指定します |
LEAP_HUD | false | エージェントの操作時にクリックの波紋、対象へのズーム、対象までのスクロールを表示します |
LEAP_AUTO_CONSENT | true | Cookie 同意バナーを自動的に閉じます(10 種のフレームワーク+フォールバック) |
LEAP_TRACE | false | セッションごとの Playwright トレース(スクリーンショット+DOM スナップショット) |
LEAP_RECORD | false | セッションの記録(操作履歴のエクスポート) |
LEAP_REBROWSER | false | Rebrowser 統合を有効にします |
LEAP_AUTO_WARM | false | セッション作成時に主要な URL を読み込んでプロファイルを自動的にウォームアップします |
LEAP_CAPTCHA_PROVIDER | (none) | 外部 CAPTCHA ソルバー:capsolver | 2captcha | nopecha |
LEAP_CAPTCHA_API_KEY | (none) | 設定した CAPTCHA プロバイダーの API キー |
LEAP_MAX_SESSIONS_PER_CLIENT | (none) | クライアントごとのセッションプールの上限 |
LEAP_LOG_LEVEL | info | debug / info / warn / error |
テスト
769 passing across 31 suites
セッション管理、スナップショットエンジン、スナップショット差分、ネットワークインテリジェンス、タブ管理、セキュリティ、SSRF 保護、ステルスパッチ(19 件)、ステルス強化、ヒューマナイズ(マウス、入力、スクロール)、ページ分類、ハーネスインテリジェンス、API インテリジェンス、スクリプト実行、拡張アクション、HUD オーバーレイ、人間による介入、Cookie 同意、ドメイン知識、セレクター修復、安定要素、タイルマネージャー、バグの回帰テスト、統合スモークテスト、ストレステスト、ベンチマーク。
npm test
要件
- Node.js >= 20
- Chromium — システムの Chrome(
LEAP_CHANNEL=chrome)を使用するか、npx playwright-core install chromiumでインストールします
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。