cdpilot
cdpilot
ターミナルからブラウザを自動化。依存関係ゼロ。1つのコマンドで、完全な制御を。
クイックスタート
npx cdpilot launch # Start browser with CDP
npx cdpilot go https://example.com
npx cdpilot shot # Take screenshot設定ファイルは不要。ボイラープレートも不要。npxを実行するだけです。
Related MCP server: Scout
なぜcdpilotなのか?
AIエージェントや開発者には、確実に動作するブラウザ制御が必要です:
設定不要 —
npx cdpilot launchで隔離されたブラウザセッションを開始依存関係ゼロ — Puppeteer、Playwright、Seleniumは不要。HTTP経由の純粋なCDP
40以上のコマンド — ナビゲーション、クリック、入力、スクリーンショット、ネットワーク、コンソール、アクセシビリティなど
AIエージェントフレンドリー — Claude、GPT、Gemini、およびあらゆるLLMツール使用ワークフロー向けに設計
セッションの隔離 — 個人のブラウザには影響を与えません。cdpilotは独自のプロファイルで実行されます
視覚的なフィードバック — 緑色の光のオーバーレイ、カーソルの可視化、クリックの波紋、キーストローク表示により、自動化中も状況を把握可能
プロジェクトごとの隔離 — 各プロジェクトは自動的に独自のブラウザインスタンスとポートを取得し、競合を防ぎます
AI制御の警告 — 自動化中に操作を行うと、赤いトースト通知が表示されます
プライバシー重視 — すべてローカルで実行されます。データがマシンから外部へ送信されることはありません
ブラウザの選択(ワークロードに応じた自動選択)
cdpilotは、実行内容に応じて最適なブラウザを選択します。auto(デフォルト)は、拡張機能のワークロードとプラットフォームの安定性という2つの軸に基づいたポリシーです:
ワークロード | 自動選択の優先順位 |
拡張機能が登録されている ( | vivaldi → brave → edge → chromium → chrome |
拡張機能なし(純粋な自動化) | chrome → vivaldi → edge → chromium → brave |
いつでも上書き可能です:
cdpilot browser # show current pick + reason
cdpilot browser vivaldi # pin to Vivaldi
cdpilot browser auto # restore smart defaultなぜ分かれているのか?
Chrome 147以降は、展開された拡張機能に対する
--load-extensionを警告なしで無視します(エラーも警告も出ません)。確認済み —chrome://extensionsには0個と表示されます。Vivaldi、Brave、Edge、Chromiumは
--load-extensionを尊重します(テスト済み)。**macOS 26 (Tahoe)**上のBrave 1.89は、起動から約7分で確実にクラッシュします(ThreadPoolForegroundWorkerでのSIGTRAP)。cdpilotはOSを検出し、修正版のBraveがリリースされるまで自動的にBraveの優先度を下げます。
各ブラウザは独自の隔離されたプロファイル(~/.cdpilot/.../profile-vivaldiなど)を取得するため、切り替えによって設定が破損することはありません。
インストール
# Use directly (no install needed)
npx cdpilot <command>
# Or install globally
npm i -g cdpilot要件: Node.js 18以上、およびBrave Browser、Google Chrome、Chromiumのいずれか。
初回セットアップ
npx cdpilot setup # Auto-detect browser, create isolated profile
npx cdpilot launch # Start browser with CDP enabled
npx cdpilot status # Check connectionコマンド
ナビゲーションとコンテンツ
cdpilot go <url> # Navigate to URL
cdpilot content # Get page text content
cdpilot html # Get page HTML
cdpilot shot [file] # Take screenshot (PNG)
cdpilot pdf [file] # Save page as PDFインタラクション
cdpilot click <selector> # Click element
cdpilot type <selector> <text># Type into input
cdpilot fill <selector> <val> # Set input value (React-compatible)
cdpilot submit <form> # Submit form
cdpilot hover <selector> # Hover element
cdpilot keys <combo> # Keyboard shortcut (ctrl+a, enter, etc.)
cdpilot scroll-to <selector> # Scroll element into view
cdpilot drag <from> <to> # Drag and dropデバッグ
cdpilot console [url] # Capture console logs
cdpilot network [url] # Monitor network requests
cdpilot debug [url] # Full diagnostic (console+network+perf+shot)
cdpilot perf # Performance metrics
cdpilot eval <js> # Execute JavaScriptタブ管理
cdpilot tabs # List open tabs
cdpilot new-tab [url] # Open new tab
cdpilot switch-tab <id> # Switch to tab
cdpilot close-tab [id] # Close tab
cdpilot close # Close active tabネットワーク制御
cdpilot throttle slow3g # Simulate slow 3G
cdpilot throttle fast3g # Simulate fast 3G
cdpilot throttle offline # Go offline
cdpilot throttle off # Back to normal
cdpilot proxy <url> # Set proxy
cdpilot proxy off # Remove proxyリクエストのインターセプト
cdpilot intercept block <pattern> # Block requests
cdpilot intercept mock <pattern> <json-file> # Mock responses
cdpilot intercept headers <pattern> <header:value> # Add headers
cdpilot intercept list # List active rules
cdpilot intercept clear # Clear all rulesデバイスエミュレーション
cdpilot emulate iphone # iPhone emulation
cdpilot emulate ipad # iPad emulation
cdpilot emulate android # Android emulation
cdpilot emulate reset # Back to desktop位置情報
cdpilot geo istanbul # Set location to Istanbul
cdpilot geo london # Set location to London
cdpilot geo 41.01 28.97 # Custom coordinates
cdpilot geo off # Remove overrideアクセシビリティ
cdpilot a11y # Full accessibility tree
cdpilot a11y summary # Quick summary
cdpilot a11y find <role> # Find elements by ARIA roleセッション管理
cdpilot session # Current session info
cdpilot sessions # List all sessions
cdpilot session-close [id] # Close session高度な機能
cdpilot cookies [domain] # List cookies
cdpilot storage # localStorage contents
cdpilot upload <sel> <file> # Upload file to input
cdpilot multi-eval <js> # Execute JS in all tabs
cdpilot headless [on|off] # Toggle headless mode
cdpilot frame list # List iframes
cdpilot dialog auto-accept # Auto-accept dialogs
cdpilot permission grant geo # Grant geolocationステルスとCAPTCHA
依存関係ゼロのアンチフィンガープリント層 — navigator.webdriver、chrome.runtime、プラグイン(適切なPluginArray継承)、WebGLベンダー/レンダラー、権限、ハードウェア同時実行数、およびWorkerコンストラクターをパッチします。ページスクリプトが実行される前にPage.addScriptToEvaluateOnNewDocumentを介して注入されます。デフォルトでは無効ですが、オプトイン可能です。
cdpilot stealth on # enable fingerprint patches (opt-in)
cdpilot stealth off # disable (default)
cdpilot stealth status # show which patches are applied
cdpilot captcha-check # JSON detection of Turnstile/hCaptcha/reCAPTCHA/
# DataDome/PerimeterX/Arkose/GeeTest. Exit 0/3
cdpilot captcha-wait [sec] # block until user solves (interactive)
# or poll with JSON stream (non-interactive)公開されているボット検出パネルで検証済み:
bot.sannysoft.com: 24/24 PASS (WebDriver, Chrome obj, Plugins as PluginArray, WebGL, PHANTOM_, HEADCHR_, SELENIUM_DRIVER)
bot.incolumitas.com intoli: 6/6 OK — new-tests: 6/7 OK (1つのFAILは純粋なCDPの存在によるもので、JSパッチでは回避不可)
nowsecure.nl (Cloudflareの完全なチャレンジ): 合格
arh.antoinevastel.com/areyouheadless: "You are not Chrome headless"
信頼性
cdpilot browser [name|auto] # workload-aware browser selection
cdpilot health # JSON: alive, port, tabs, browser, today's crashescdpilot healthはシェル監視ツール向けに設計されています:
until cdpilot health >/dev/null; do cdpilot launch; sleep 2; donemacOSの~/Library/Logs/DiagnosticReports/から今日のBraveのクラッシュ回数を表示します — 自動化が静かに停止する前に劣化を検知します。
AIエージェントでの利用
cdpilotは、AIエージェントからツールとして呼び出されるように設計されています:
Claude Code (MCP)
{
"mcpServers": {
"cdpilot": {
"command": "npx",
"args": ["cdpilot", "mcp"]
}
}
}あらゆるLLM (ツール使用)
{
"name": "browser",
"description": "Control a browser via CDP",
"parameters": {
"command": "go https://example.com"
}
}Python (サブプロセス)
import subprocess
result = subprocess.run(["npx", "cdpilot", "go", url], capture_output=True, text=True)
print(result.stdout)環境変数
変数 | デフォルト | 説明 |
|
| CDPデバッグポート |
| 自動検出 | ブラウザバイナリのパス |
|
| 隔離されたブラウザプロファイル |
| 自動 | セッション識別子 |
仕組み
┌─────────────┐ HTTP/WebSocket ┌──────────────┐
│ cdpilot │ ◄──────────────────────► │ Brave/Chrome │
│ (CLI) │ Chrome DevTools │ (CDP mode) │
└─────────────┘ Protocol └──────────────┘
│ │
│ Zero dependencies │ Isolated profile
│ Pure HTTP + WebSocket │ Separate from your
│ ~2500 lines, single file │ personal browser
└────────────────────────────────────────┘Puppeteerなし。Playwrightなし。Seleniumなし。 直接的なCDP通信のみです。
比較
機能 | cdpilot | Puppeteer | Playwright | Selenium |
インストールサイズ | ~50KB | 400MB+ | 200MB+ | 100MB+ |
依存関係 | 0 | 50+ | 30+ | Java + ドライバー |
セットアップ時間 | 一瞬 | 数分 | 数分 | 面倒 |
AIエージェント対応 | はい | 手動 | 手動 | 手動 |
ブラウザダウンロード | いいえ | はい (Chromium) | はい (3ブラウザ) | いいえ |
CLIファースト | はい | いいえ (ライブラリ) | いいえ (ライブラリ) | いいえ |
MCPサポート | はい | いいえ | いいえ | いいえ |
マネタイズ / Pro (近日公開)
cdpilot CLIは、今後も常に無料かつオープンソース (MIT) です。
将来の有料サービス:
cdpilot cloud — リモートブラウザインスタンス、ローカルブラウザ不要
チームダッシュボード — 共有セッション、監査ログ、使用状況分析
優先サポート — エンタープライズ統合のための直接的な支援
セキュリティ
隔離されたブラウザプロファイル — cdpilotは
~/.cdpilot/profileで実行され、日常のブラウザとは分離されます。Cookie、パスワード、履歴が露出することはありません。任意のファイルアクセス不可 — MCPのスクリーンショットファイル名はサニタイズされ、スクリーンショットディレクトリに制限されます。パストラバーサルはブロックされます。
安全なCSSセレクター —
querySelectorに渡されるすべてのセレクターはJSONエスケープされ、インジェクションを防ぎます。ネットワーク露出なし — CDPは
127.0.0.1でのみリッスンします。デフォルトではリモート接続は不可能です。依存関係なし — npm/Pythonのランタイム依存関係がゼロであるため、サプライチェーン攻撃の表面積がゼロです。
脆弱性を見つけた場合は、公開の問題として報告するのではなく、メンテナーに直接メールしてください。
ロードマップ
テストアサーションを内蔵した唯一のブラウザMCPです。これまでにリリースしたものと、今後の予定は以下の通りです:
リリース済み
[x] 60以上のCLIコマンド (ナビゲーション、クリック、入力、スクリーンショット、PDF、コンソール、ネットワーク...)
[x] AIエージェント統合用MCPサーバー (Claude Code, Cursorなど)
[x] 10個の組み込みテストアサーション — assert, assert-url, assert-title, assert-count, assert-value, assert-attr, assert-visible/hidden, wait-for, check (バッチ), screenshot-diff
[x] アクセシビリティツリーのスナップショット (
a11y-snapshot) — @ref参照付きの構造化データ、スクリーンショットより500倍少ないトークン[x] トークン効率の良いスクリーンショット — 要素レベルのクロップ (13倍小さい)、JPEG品質制御、フォーマット選択
[x] ビジョンフォールバック (
describe) — 1回の呼び出しでa11y + スクリーンショット + テキストを取得[x] 注釈付きスクリーンショット — インタラクティブ要素に@Nバッジをオーバーレイ
[x] 自動待機 — MutationObserverベース、5秒間の自動要素待機
[x] バッチコマンド — stdin経由でJSON配列をパイプし、多段階自動化を実行
[x] 視覚的フィードバックシステム (永続的な緑色の光、カーソル、波紋、キーストローク表示)
[x] AI制御警告トースト (自動化中にユーザーが操作すると赤い警告を表示)
[x] プロジェクトごとのブラウザ隔離 (各プロジェクトが独自のポートとプロファイルを取得)
[x] プリフライトウィザード (初回実行時に依存関係を自動インストール)
[x] 永続的なMCPグロー (Claudeのオレンジ色の光のように、AIセッション全体で表示)
[x] DevExtensionシステム (ブラウザストアなしでネイティブJSを注入)
[x] スマートコマンド —
smart-click,smart-fill,smart-select— 表示テキストで操作、CSSセレクター不要、LLM不要[x] データ抽出 (
extract) — テキスト、JSON、またはリスト形式での構造化DOMデータ[x] ページ観測 (
observe) — 利用可能なアクションを含むすべてのインタラクティブ要素をリスト化[x] スクリプトランナー (
run) — 合否レポート付きで.cdpスクリプトファイルを実行
近日公開
[ ] iframe & Shadow DOM サポート — iframeやシャドウルート内の要素を操作
[ ] セッションの記録と再生 — ブラウザセッションを記録し、決定論的に再生
[ ] ステルスモード (Pro) — 人間のようなマウス操作/タイピング、アンチフィンガープリント、CAPTCHA解決
[ ] cdpilot Cloud — ホスト型ブラウザセッションAPI、REST + WebSocket MCPエンドポイント
[ ] Chrome拡張機能 — CLIなしで任意のブラウザからcdpilotを使用
[ ] パフォーマンス監査 — CDP Performanceドメインを介したCore Web Vitals (LCP, CLS, INP)
[ ] WCAGアクセシビリティ監査 — 自動化されたa11yコンプライアンスレポート
[ ] Claude Code Skillモード — MCPに加えて
.claude/skills/スキルとして実行
アイデアがあれば、Issueを開くか、PRを送信してください!
貢献
git clone https://github.com/mehmetnadir/cdpilot.git
cd cdpilot
npm install
npm testPRを歓迎します!最初にCONTRIBUTING.mdをお読みください。
ライセンス
MIT — 自由に使用してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Headless browser primitives for AI agents when sites need real JS rendering.
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceReliable, scalable browser infrastructure for AI agents. Route, pool, and failover across any browser provider. 8 built-in browser tools using raw Chrome CDP - navigate, screenshot, snapshot, interact, evaluate. Zero-config with auto Chrome detection & concurrent sessions support518 npm10MIT
- AlicenseNot gradedqualityAmaintenancesingle-binary MCP server that gives AI agents a browser. 66 tools for navigation, form filling, data extraction, screenshots, and DOM diffing — built on pure Chrome DevTools Protocol.13MIT

BAP MCPofficial
AlicenseNot gradedqualityCmaintenanceLightweight browser automation server for AI agents, enabling fast (10-25ms per action), structured observations and semantic selectors with zero token overhead.6Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables AI agents to scrape web pages, fill forms, take screenshots, and extract structured data via Chrome DevTools Protocol with zero external dependencies.MIT