agentic-browser について
agentic-browserは、コンパクトなテキストスナップショット、座標、可視化されたカーソル操作で、AIエージェントからインストール済みのChromeを操作できるツールです。MCPサーバーとHTTP/JSON APIを備え、ブラウジング、データ抽出、タスクレシピの再利用に対応します。
主な機能
- 01テキストと要素座標でページを認識
- 02Chromeで移動して操作
- 03テーブルやリストをJSONまたはCSVに抽出
- 04タスクレシピの記録と再生
- 05カーソル操作の表示と監査記録
活用シーン
- 01スクリーンショットに頼らずウェブを調査
- 02商品や検索結果のデータを収集
- 03新しい値でブラウザータスクを再実行
- 04エージェントのブラウザー操作を確認
MCP 対応
ローカルMCPサーバーとして動作し、インストール済みのChromeを使うブラウザー操作・確認ツールをMCPクライアントに提供します。HTTP/JSON APIも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
27掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | |
| snapshot | boolean | いいえ | true の場合、操作後にスナップショットを返します(1 ターン節約)。 |
詳細
agentic-browser
どんな AI エージェントにも本物のブラウザーを与え、その動きをすべて見届けましょう。
Davarion が開発・保守しています。
API キーも追加料金も不要です。 agentic-browser はモデルではなくツールです。お使いのコンピューター上で動作し、エージェントがすでに利用している頭脳をそのまま使います。Claude Code での Claude Pro/Max プラン、Codex や Cursor での ChatGPT プラン、あるいはローカルモデルを利用できます。登録の必要はなく、当社からトークンごとの料金を請求することもありません。
人はブラウザーでウェブを閲覧しますが、エージェントは通常 API を必要とします。agentic-browser を使えば、どんなエージェントでも、インストール済みの Google Chrome を人と同じように操作できます。ページはスクリーンショットではなく、ピクセル座標付きの簡潔なテキストとして認識され、動作やクリックのたびにカーソルが表示されます。
Español · ユースケース · チャットウォッチャー · アーキテクチャ · セキュリティ · 免責事項
▶ 15秒のデモを見る · ▶ 動画全編を見る(1分)

エージェント自身が記録した実際の実行例:価格の比較 · ウェブの調査 · フォームへの入力と送信前の停止。
特長
| 現在のブラウザーエージェントの問題 | agentic-browser |
|---|---|
| スクリーンショットは1回あたり約1,000~1,500トークンを消費します | テキストスナップショットは要素あたり約15トークンです。diff: true を指定すると、変更点だけが返されます |
| エージェントは画像を見て座標を推測します | すべての要素に正確な中心座標 @x,y が付いています。browser_element_at(x, y) を使えば、画像なしで任意のピクセル位置にあるものを確認できます |
| エージェントが何をしているか見えません | 赤いカーソルが対象へ移動し、クリック時に波紋が広がり、操作内容が表示されます |
| 1つのエージェントフレームワークに縛られます | MCP サーバー と シンプルな HTTP/JSON API に対応:Claude、GPT、Gemini、Hermes、OpenClaw、LangChain、n8n、curl など |
| 機能を削った Chromium ビルド | 本物の Chrome を使用:拡張機能、コーデック、PDF、WebGPU、自動更新に対応 |
| API キーと料金がまた増えます | 不要です。 エージェントがすでに利用しているサブスクリプションで動作します。オプションのチャットウォッチャーも Claude プランで実行できます |
クイックスタート
1行(Claude Code):
claude mcp add agentic-browser -- npx -y agentic-browser-mcp
その他の MCP クライアントでは、"command": "npx", "args": ["-y", "agentic-browser-mcp"] を使用してください。必要条件:Node ≥ 18 および Chrome(または Edge)。
ソースから実行
必要条件:Node ≥ 18 および Google Chrome。
git clone https://github.com/davarion-tech/agentic-browser.git
cd agentic-browser && npm install
npm run doctor
npm test
MCP クライアントから使う
Claude Code:
claude mcp add agentic-browser -- node /absolute/path/to/agentic-browser/src/mcp.js
Claude Desktop、Cursor、Codex、Hermes、OpenClaw、その他の MCP クライアントについては、examples/mcp-config.json を参照してください。
Claude Code のスラッシュコマンド(任意): skills/agentic-browser を ~/.claude/skills/ にコピーします。すると /agentic-browser <task> を実行するたびに、他の組み込みブラウザーツールではなく、このブラウザーが使われます。
続いて、エージェントに次のように依頼します。
agentic-browser の browser_* ツールだけを使ってください。es.wikipedia.org を開き、「Chrome DevTools Protocol」を検索して、最初の結果を開き、最初の段落を要約してください。スクリーンショットは撮らないでください。
その他のあらゆるものから使う(HTTP)
npm run http
curl -s -X POST http://127.0.0.1:8787/tools/browser_navigate -d "{\"url\":\"example.com\",\"snapshot\":true}"
GET /tools はすべてのツールの JSON Schema を返します。あらゆる LLM API に関数定義としてそのまま渡せます。依存関係のない Python クライアントは examples/python_client.py にあります。
オプション:チャットウォッチャー
デフォルトでは無効です。 agentic-browser をインストールしただけでは、指示したときにエージェントがブラウザーを使えるようになるだけです。ウォッチャーは、あなたが有効にする別のプロセスです。
ウォッチャーはエージェント専用のメッセージングタブ(WhatsApp Web、Telegram、Messenger など)を開いたままにします。待機中にトークンは消費されません。メッセージが届くと、Claude を起動して内容を読み、返信案を提示します。その後の動作は、コードで適用されるポリシーによって制御されます。
- observe: あなたに通知するだけです。
- draft(デフォルト):返信を作成しますが、送信はしません。
- auto: 許可リストに登録された相手に限り送信します。どのモードでも、機密性の高いキーワード、1 時間あたりの上限、ドメインロックが適用されます。
npm run setup
npm run watcher
Claude のサブスクリプション(claude setup-token)または API キーで動作します。まず docs/WATCHER.md と 免責事項をお読みください。多くのプラットフォームでは、非公式ボットが禁止されています。
エージェントに見える内容
# Test bench
url: http://localhost:3000/
viewport 1280x800 scroll=0,0 docH=2090
[3] textbox "Search" ph="type something" @191,124
[4] button "Search" @339,124
[5] select "color" value="Red" opts=[*Red|Green|Blue] @429,124
[6] checkbox "I agree" {checked} @492,124
[10] button "Button in shadow DOM" @652,316
[f1:1] button "Button inside iframe" @214,217
1.3 の新機能
デモチャットでのチャットウォッチャーの動作:送信用の返信案を作成し、銀行口座情報の要求やフィッシングリンクへの対応をあなたに引き継ぎます。動画全編。
- プライバシーマスク。
browser_cursor_style({ privacy: "whatsapp" })またはAGENT_PRIVACY=whatsappを指定すると、連絡先、チャットのヘッダー、プロフィール写真がぼかされるため、誰かの情報を公開することなくエージェントの画面を録画・共有できます。プリセットはwhatsapp、telegram、gmail、または独自の CSS セレクターから選べます。エージェントは引き続きすべてを読み取ります。 - 選んだチャットだけを監視。 チャットウォッチャーで
contacts: ["Cliente demo"]を指定すると、それ以外のチャットはすべて除外されます。それらのチャットではモデルが起動することはありません。また、入力前にウォッチャーがページから開いているチャットのタイトルを読み取るため、エージェントがほかの場所に書き込むことはできません。個人的なチャットも使っているアカウントで安全に利用できます。 - 画面上の通知と、イベントごとの動画。 ウォッチャーは新着メッセージ、返信案(「内容を確認して送信を押してください」)、エスカレーション、ブロックのたびにカードを表示します(プライバシーマスクが有効な場合、名前は表示されません)。
record: trueを指定すると、各イベントが個別の動画として保存されます。
1.2 の新機能
- 一度教えれば、何度でも再生できます。
browser_teach_startは、エージェントの Chrome で あなた自身が タスク(クリック、テキスト入力、選択、Enter キー)を実行している間、その操作を記録します。ピクセルではなく、ロールと名前を使ったレシピとして保存されるため、レイアウトが変わっても使えます。browser_replayは、新しい値({"search": "October invoices"})を使って操作を繰り返すため、各ステップを認識する必要はありません。パスワードは記録されません。再生時に、本人が入力します。 - ブラウザーに「Enseñar」(教える)ボタンを追加しました。 エージェントの Chrome の左端にある小さなタブから、エージェントに指示せずに記録を開始できます。バナーでレシピに名前を付けて「Finish」を押し、エージェントに「 を繰り返して」と伝えます。
AGENT_TEACH_BUTTON=0で無効にできます。 - 画面をすっきり表示します。 Chrome の翻訳バー、検索エンジンの選択、ページ復元の吹き出し、権限の確認を表示しません(権限は拒否されます)。ページ移動のたびに、ウェブサイトのポップアップ(言語、ニュースレター、Cookie バナー、「Google でログイン」)を、閉じるボタンまたは拒否ボタンをクリックして閉じます。承認、登録、ログインは行いません。
browser_dismissで必要に応じて実行でき、AGENT_AUTO_DISMISS=0で自動処理を無効にできます。 - 構造化データを一度の呼び出しで取得できます。
browser_extractは、関連性の高い表または繰り返し項目のリスト(商品、検索結果、連絡先)を、タイトル、リンク、価格、画像を含む JSON または CSV の行に変換します。結合された表の見出しも解決されます。CSV 出力は Excel で安全に開けます。 - トークン数をリアルタイムで表示します。
browser_cursor_style({ hud: true })(またはAGENT_HUD=1)を使うと、ページの隅に、スクリーンショットを使用した場合のコストと比較したトークン数が表示されます。browser_statsでも同じ数値を取得できます。計算式:トークン数 ≈ 文字数 / 4、スクリーンショット 1 枚 ≈ 幅 × 高さ / 750(認識 1 回あたり)。
ツール
| ツール | 用途 |
|---|---|
browser_snapshot | 主な認識機能。 ref、role、name、state、中央の @x,y を含む表示要素。diff: true を指定すると変更点のみを返します |
browser_find | 画面外も含め、ページ内のあらゆる場所にあるテキストから要素を検索します |
browser_element_at | ピクセル位置から要素を特定します(role、text、clickable、DOM path)。画像は使用しません |
browser_cursor | エージェントのカーソル位置と、その下にあるものを表示します |
browser_click / browser_move | ref または x,y で、表示中の要素をクリックまたはホバーします(ボタン、ダブルクリック、修飾キーに対応) |
browser_type / browser_press | 実際のキーボード入力を行います:clear、submit、Control+L などのショートカット |
browser_scroll / browser_drag | マウスホイール操作、ドラッグ&ドロップ |
browser_select / browser_upload | <select> のオプション、ファイル入力 |
browser_navigate / browser_history / browser_tabs | ナビゲーションとタブ |
browser_read / browser_eval | 読み取り可能なテキスト(信頼できないコンテンツとしてラップ)。任意の JS(AGENT_ALLOW_EVAL=1 の場合のみ) |
browser_extract | 表または繰り返し表示されるリストを JSON または CSV の行に変換します(タイトル、URL、価格、画像など)。file を指定するとディスクに保存します |
browser_teach_start / browser_teach_stop | 人が一度実行したタスクを、再利用可能なレシピとして記録します |
browser_recipes / browser_replay | レシピを一覧表示または表示し、新しい params を指定して、ほぼゼロトークンで再実行します |
browser_stats | このセッションで使用したトークン数と、スクリーンショット相当のトークン数 |
browser_dismiss | ページを覆うポップアップを閉じます(閉じるか拒否のみ。承諾はしません)。browser_navigate の後に自動実行されます |
browser_batch | 1回の呼び出しで複数の操作を順に実行し、最初のエラーで停止します。操作ごとにエージェントのターンを1回分節約します |
browser_wait / browser_watch | 時間、テキスト、セレクターを指定して待機します。browser_watch はページに変化(新しいメッセージ、「(3) Inbox」というタイトルなど)があるまで、トークンを消費せず待機します |
browser_request_human | ページ上のバナーを通じて、監視中の人に操作を引き継ぎます(ログイン、2FA、CAPTCHA、判断が必要な場合) |
browser_console / browser_events / browser_trace | JS コンソールとエラー、ダイアログ、ダウンロード、新しいタブ、すべての操作の監査ログ |
browser_cursor_style | カーソル、その軌跡、またはライブのトークンカウンター(hud)を表示または非表示にします |
browser_record_start / browser_record_stop | アクティブなタブを動画として記録します。赤いカーソルも含まれ、OBS を使わずにデモクリップを作成できます。ffmpeg が PATH にある場合は MP4(H.264)、ない場合は WebM で記録します。パス、長さ、サイズを返します |
browser_screenshot | 最後の手段として、ページ全体または単一の ref の JPEG を取得します |
ほとんどの操作では snapshot: true を指定でき、同じレスポンスで新しいページの状態が返されるため、ステップごとにエージェントのターンを1回分節約できます。
信頼性機能: 要素を一意に再識別できる場合、再レンダリング後も ref は維持されます。モーダルが対象を覆っている場合、クリック時に警告(occluded)が表示されます。オープンシャドウ DOM と iframe も走査します。新しいタブ、ダイアログ、ダウンロードは操作結果に報告されます。同じ呼び出しを3回繰り返すと、ループ警告が表示されます。
設定
| 変数 | デフォルト | |
|---|---|---|
AGENT_HEADLESS | 0 | 1 = ウィンドウなし(サーバー、CI) |
AGENT_CDP_URL | — | --remote-debugging-port=9222 --user-data-dir=… を指定して起動した、実行中の Chrome に接続します |
AGENT_PROFILE | ~/.agentic-browser/profile | エージェントの永続プロファイル(Cookie とログイン状態は再起動後も維持されます) |
AGENT_DOWNLOADS | ~/.agentic-browser/downloads | ダウンロードフォルダー |
AGENT_SPEED | normal | 日常作業では fast(カーソルの移動は ≤ 250 ms、キー入力間の遅延なし)、録画では demo(ゆっくりで追いやすい) |
AGENT_CURSOR_SPEED | AGENT_SPEED から取得 | カーソル移動 100 px あたりのミリ秒数。0 = 即時 |
AGENT_VIEWPORT | ウィンドウサイズ | ウィンドウがある場合、Chrome は最大化して開き、ページには実際のウィンドウサイズが適用されます。1280x800 を指定すると固定されます(ヘッドレスでは常に 1280×800) |
AGENT_TOOLS | all | core(必須ツール 13 個)またはカンマ区切りのリスト。ツールを減らすとプロンプトトークンも減ります |
AGENT_AUTO_DISMISS | 1 | 0 にすると、ページ遷移後にウェブサイトのポップアップを閉じなくなります |
AGENT_TEACH_BUTTON | 1 | 0 にすると、フローティングの「Enseñar」ボタンを非表示にします |
AGENT_HUD | 0 | 1 にすると、起動時からトークン数をリアルタイム表示します |
AGENT_PRIVACY | — | 起動時から適用するプライバシーマスク:whatsapp、telegram、gmail、および/または CSS セレクターをカンマ区切りで指定します |
AGENT_RECIPES | ~/.agentic-browser/recipes | 学習したレシピの保存先(JSON) |
AGENT_EXPORTS | ~/.agentic-browser/exports | browser_extract がファイルを書き出す場所 |
AGENT_READONLY | 0 | 1 にすると、ページを変更するすべてのツールを無効にします |
AGENT_ALLOWED_ORIGINS | — | ドメインの許可リスト。例:wikipedia.org,localhost(サブドメインも含みます) |
AGENT_DIALOGS | dismiss | alert/confirm/prompt:dismiss(1.1.0 以降のデフォルト:confirm("Delete?") は単独では決して承認されません)または accept。ダイアログのテキストはイベントとしてエージェントに送信されます |
AGENT_TRACE | ~/.agentic-browser/trace.jsonl | すべてのツール呼び出しの監査ログ |
AGENT_CHROME | 自動検出 | ブラウザーのパス。Chromium 系ブラウザーであれば使用できます:Chrome、Edge(自動的にフォールバック)、Brave、Chromium |
AGENT_HTTP_PORT / AGENT_TOKEN | 8787 / 生成 | HTTP ポートと必須の Bearer トークン。AGENT_TOKEN がない場合は、~/.agentic-browser/http-token に生成されます(パスは AGENT_TOKEN_FILE で設定可能)。ウェブページからのリクエストは拒否されます |
AGENT_NO_SANDBOX | 0 | 1 にすると、Chrome をサンドボックスなしで起動します。Linux で root として実行する場合、またはサンドボックスを起動できないコンテナーでのみ使用してください。分離レベルが低下します |
AGENT_ALLOW_EVAL | 0 | 1 にすると browser_eval を有効にします(デフォルトでは無効です。Cookie の読み取りやデータの流出につながる可能性があります) |
AGENT_UPLOAD_DIRS | ダウンロードフォルダー | browser_upload がアップロード元として使用できるフォルダー。Windows では ;、macOS/Linux では : で区切ります |
AGENT_RECORDINGS | ~/.agentic-browser/recordings | browser_record_stop が動画を保存する場所 |
AGENT_FFMPEG | ffmpeg | MP4 録画用の ffmpeg のパス。none にすると WebM にフォールバックします |
制限事項
- Canvas、WebGL、地図: DOM には、それらの内部に描画される内容が記述されません。対象範囲だけに費用をかけるには、
refを指定してbrowser_screenshotを使用してください。 - 閉じたシャドウルートでは、子要素を参照できません。
- Chrome 自体の UI(アドレスバー、メニュー、権限の確認)は DOM の一部ではありません。代わりに
browser_navigate、browser_tabs、環境変数を使用してください。 - CAPTCHA の解決やボット検出の回避はできません。 エージェントは
browser_request_humanを呼び出してください。 - 最近の Chrome バージョンでは、リモートデバッグがデフォルトの個人プロファイルでブロックされます。エージェントは独自のプロファイルを使用するため、そこで一度ログインしてください。
ロードマップ
ブラウザーエージェントに関するよくある不満(古くなった参照情報、トークンの肥大化、ポップアップ、複数エージェント間の競合、プロンプトインジェクション、可観測性)に基づいています。
- エージェントが管理するアカウント向けのリファレンス チャット監視機能:新しいメッセージが届くとトークンを消費せずに起動し、コードで強制されるポリシー(デフォルトでは下書き、許可リスト、機密キーワード、レート制限、ドメインロック)に従って返信します。docs/WATCHER.mdを参照してください。
- ティーチモードとレシピの再生、構造化抽出、リアルタイムのトークンカウンター、ポップアップの閉鎖、
browser_batch(1.2)。 - 1つのプロファイルでのマルチエージェントセッション(タブの所有権とリースを含む)。
-
browser_batch:1回の呼び出しで複数の操作を実行します。 - 非表示テキストの検出(CSSで隠された指示をプロンプトインジェクションの兆候として扱う)。
- セッションの再生:トレースに加え、カーソルのGIF/動画を生成します。
法的事項
MIT Licenseの下で公開されています。現状有姿で提供され、保証はありません。 このソフトウェアを自分自身およびエージェントがどのように使用するかについては、すべて利用者自身が責任を負います。 これには、法律および自動化するサイトの利用規約の遵守も含まれます。免責事項全文をお読みください。
Davarionが制作しました。Googleとは提携していません。「Google Chrome」はGoogle LLCの商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

