mcpField
C
chrome-bridge

chrome-bridge

ローカル
github.com/frsorrentinoブラウザ自動化6今日更新

chrome-bridge について

chrome-bridgeは、Claude Codeからユーザーが利用中のChromeセッションのタブを操作するMCPサーバーです。ログイン済みページや拡張機能を利用でき、2FAやCAPTCHAなどはユーザーに引き継ぎます。CLIとヘッドレス起動にも対応します。

主な機能

  1. 01既存のChromeタブの操作
  2. 02ページDOMの操作と確認
  3. 03アクセシビリティ・SEO・セキュリティ監査
  4. 04ビジュアル比較とネットワークモック
  5. 05ログインやCAPTCHAのユーザー引き継ぎ
  6. 06CLIとヘッドレスCI実行

活用シーン

  1. 01ログイン済みサイトでのフォーム入力
  2. 02Webページの確認とデバッグ
  3. 03ビジュアルチェックや監査の実行
  4. 04ユーザーによる2FA入力の待機

MCP 対応

MCPサーバーは、ブラウザーの移動、操作、確認、デバッグ用ツールをMCPクライアントに公開します。ローカルWebSocketブリッジを介してChrome拡張機能と通信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"frsorrentino-chrome-bridge": {
"command": "npx",
"args": [
"-y",
"chrome-bridge-mcp"
]
}
}
}
起動コマンドnpx -y chrome-bridge-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmchrome-bridge-mcp1.31.2

ツール

43

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
enablearrayいいえ今すぐ有効にする caps。1 回の呼び出しですべて指定します;"all" = すべての cap

詳細

Chrome Bridge

frsorrentino 作 · npm chrome-bridge-mcp · 「chrome-bridge」という名前の他のプロジェクトとは関係ありません。

ライセンス:MIT Node 18+ Chrome 135+ テスト Chrome ウェブストア mcprush の Chrome Bridge MCP

Claude Code は、すでに使っている Chrome からタブを借ります。サインイン済みで、拡張機能と Cookie もそのままの状態で操作し、終わったらタブを返します。ログイン、2FA コード、CAPTCHA、選択など、人にしかできない操作が必要になると、handoff を通じてあなたに引き継がれます。ページにバナーが表示されるので、操作するとエージェントが処理を続けます。

公式のブラウザー拡張機能との比較(同一モデルによるペア実行、2026/09/29、各タスク n=5):フォーム入力では、操作回数が 4.7 倍少なく、コストが 2.8 倍低減。1,500 行のテーブルから 1 行を探すタスクでは、操作回数が 2.3 倍少なく、コストが 3.4 倍低減。壊れたページのデバッグでは、操作回数が 9.3 倍少なく、コストが 4.3 倍低減しました。正解数は 15 問中 15 問で、公式拡張機能の 12 問を上回りました(bench/RESULTS.md)。ツールセットは約 3 倍で、有料プランは不要です。ローカル WebSocket ブリッジ経由で、ウェブ開発用ツール 60 種類(ナビゲーション、DOM の検査、ビジュアルリグレッション、監査、ネットワークのモック)を利用でき、CI 向けのヘッドレスインスタンスも備えています。セルフホスト可能で、ローカル環境のみで動作します。ChromeOS にも対応しています。

同じフォームを 14 ターンではなく 3 ターンで入力 — フォーム、1,500 行のテーブル、デバッグの各タスクで、操作回数が 4.7 倍少なく、コストが 2.8~4.3 倍低減(ペア実行、2026/09/29、n=5)

クイックスタート

Node.js 18+ と Chrome 135+ が必要です。

git clone https://github.com/frsorrentino/chrome-bridge.git
cd chrome-bridge && ./install.sh
  1. chrome://extensions を開き、デベロッパーモードを有効にして、パッケージ化されていない拡張機能を読み込むをクリックし、extension/ フォルダーを選択します。
  2. Claude Code を再起動します。

次のように依頼してみてください。「localhost:3000 を開いて、アクセシビリティ監査を実行し、Sign Up ボタンを見つけて」:Claude Code は navigate、audit、find_text を呼び出します。navigate はすでに要素参照を返すため、その間に探索のターンを挟まず click(ref="n1") を続けて実行できます。

ChromeOS/Crostini では、代わりに Chrome ウェブストア からインストールしてください。Chrome の起動時にコンテナがマウントされていないため、再起動のたびにパッケージ化されていない拡張機能が削除されます。

Windows では、install.sh は PowerShell や cmd から実行できません。ウェブストアの拡張機能と以下のプラグインの手順(claude plugin marketplace add frsorrentino/chrome-bridge、続けて claude plugin install chrome-bridge@chrome-bridge)を使うか、Git Bash から install.sh を実行してください。プラグインのエラーログフックは Git Bash で実行されます。Claude Code はすべてのフックを実行するため、Python 3.8+ が python3、python、または py として必要です(Microsoft Store の python3 エイリアスはスキップされます)。Python がない場合、フックは何も出力しませんが、ツールは同じように動作します。起動モードについては、以下の CHROME_BRIDGE_BROWSER を参照してください。Google Chrome では拡張機能を読み込めませんが、Microsoft Edge では読み込めます。

install.sh は MCP サーバーを --scope user で登録します。手動で登録するには、claude mcp add --scope user chrome-bridge node /path/to/server/index.js を実行します。execute_js を使うには、chrome://extensions → Chrome Bridge → Details で ユーザースクリプトを許可するを有効にしてください(Chrome 135-137 では、代わりにデベロッパーモードを有効にしてください)。

クローンせずにプラグインとして使う場合: Claude Code のセッション内で、/plugin install chrome-bridge --marketplace frsorrentino/chrome-bridge を実行します(コマンドは 1 つだけです。Claude Code 2.1.275+ が必要です。古いバージョンでは、/plugin marketplace add frsorrentino/chrome-bridge の後に /plugin install chrome-bridge@chrome-bridge を実行します)。 シェルから実行する場合、claude plugin install に --marketplace オプションはありません。claude plugin marketplace add frsorrentino/chrome-bridge を実行し、続けて claude plugin install chrome-bridge@chrome-bridge を実行してください。どちらの場合も、プラグインは npm から MCP サーバー(すべての機能を含む)とレシピスキルを登録します。Agent Plugins 1.0 を読み込むクライアントでは、plugin.json + mcp.json から同じものが取得されます。拡張機能は引き続きウェブストアまたは extension/ から入手してください。どちらか一方の方法を選んでください。プラグインと install.sh は同じサーバーを二重に登録します。また、Anthropic ディレクトリから claude.ai に追加したプラグイン(Claude Code には chrome-bridge@synced として届きます)と、マーケットプレイスからインストールしたプラグインも重複します。claude.ai のチャットでは、プラグインはレシピスキルのみを読み込みます。ツールを使うには、Claude Code または、お使いのコンピューター上で実行してローカル MCP サーバーを起動できる Cowork が必要です。

あなたのブラウザー、あなたのログイン

空のプロファイルも、デバッグポートも、クラウドブラウザーもありません。拡張機能はお使いの Chrome で動作するため、ログイン済みのサイトはすべて、ウェブメール、ホスティングパネル、クライアントの管理画面、ベーシック認証で保護されたステージングサイトなど、エージェントからすでに利用できます。エージェントが開いたタブはエージェント自身のものとしてマークされ、セッションの終了時に閉じられます。あなたのタブはそのまま残ります。

ページであなただけが対応できる操作を求められた場合、エージェントは推測せず、認証情報を入力することもありません。handoff はページに必要な操作を示すバナーを表示します。「2FA でログインを完了してから、Done を押してください」「該当するボタンをクリックしてください」などの指示を表示して、あなたの操作を待ちます。操作が完了すると、リダイレクトも含め、止めたところから続行します。また、バナーで質問して入力された回答を読み取ったり、ページ上の要素を 1 つ以上選んでもらったりすることもできます。

Chrome Bridge を選ぶ理由

Chrome BridgeClaude in ChromeChrome DevTools MCPPlaywright MCP
ChromeOS / Crostiniはい(実際のホスト)いいえコンテナーのみコンテナーのみ
ツール60(コア 43)22デフォルト 29(フラグ指定時 56)コア 24(合計 71)
有料プランが必要いいえはい(Pro+)いいえいいえ
ネットワークのモックはい(スタブ/ヘッダー)いいえいいえはい
ビジュアルリグレッションはい(screenshot_diff)いいえいいえいいえ
監査(a11y/SEO/sec)はい(1 回の呼び出しで、レポートをディスクに出力)いいえLighthouseいいえ
ヘッドレス/CIはいいいえはいはい
GIF/動画いいえはい部分対応いいえ
ブレークポイント/ヒープいいえいいえはいいいえ

Codex for Chrome(OpenAI、2026 年 5 月)は Claude in Chrome の列に該当します。debugger 権限を持つ公式拡張機能で、macOS と Windows のみ対応し、ChatGPT アプリが必要です。Claude in Chrome は 2026 年 9 月から Linux デスクトップをサポートすると記載していますが、ChromeOS と WSL は引き続き対象外です。競合製品の数値は 2026-09-01 と 2026-09-11 に測定しました(docs/analisi-2026-09-11-concorrenti.md)。

優れているのは 往復回数 です。スクリーンショットを撮ってクリックするループの代わりに短い要素参照を使い、fill_form なら 1 回の呼び出しで N 個のフィールドに入力できます。また、大きなページでは ペイロード の点でも優れています。テーブルのフィルタリングはサーバー側で行います。一方、フォームでは 1 回のターンあたりのコストが実際にはわずかに 高く なります。

手法、好ましくない結果も含むすべての生データ、ハーネスで測定できない内容をまとめたベンチマーク全体は、docs/EFFICIENCY.md にあります。

Claude が自分の作業を確認します:コンソールエラー、ピクセル差分、ネットワークのモック、監査

使い方

skills/chrome-bridge/SKILL.md の スキル によって、ツールを見つけられるようになります。各ツールを呼び出すフレーズ(「メールが届くことを確認して」、「テスト用カードでチェックアウトをテストして」、「ページを遅くしているプラグインはどれか」、「同意の前に何が実行されるか」)、ツールの実行順序、モデルには通常見えないトークン消費ゼロの CLI コマンドが記載されています。install.sh はスキルを ~/.claude/skills/chrome-bridge にコピーします。他のクライアントでは、同じ手順を手動で行ってください。

MCP ツールに加えて、2 つの方法でモデルを介さずに作業できます。

モデルに触れないジョブもあります:CLI で同じツールを実行し、トークンを消費せずに結果を取得します

CLI — バッチ操作を行い、コンテキストに渡す前に grep または jq でパイプ処理します。

chrome-bridge navigate --url https://example.com
chrome-bridge read_console --level error | head -20
chrome-bridge assert --selector "#success" --text "Done"
chrome-bridge replay --file ./recordings/login.jsonl

起動モード — 分離されたセッションや CI 向けに、一時プロファイルを使う専用の Chromium インスタンスを起動します。

node server/index.js --launch --headless

Linux、macOS、Windows の標準パスから Chromium、Microsoft Edge、Brave、最後に Google Chrome を探します。別のバイナリを指定するには CHROME_BRIDGE_BROWSER を使用します。Google Chrome 137 以降は --load-extension を無視するため、拡張機能は接続されません。Chromium、Edge、Brave、または Chrome for Testing を使用してください。

モデルを介さないスモークテストには、session_record と replay を組み合わせてください。起動モードでは、ユーザースクリプトの切り替えが利用できない場合、execute_js は new Function にフォールバックします。

ツール

全67種類です。core(44種類。すべてのツールが実際のセッションで101回使用されています)はデフォルトで読み込まれます。残りの23種類は7つの任意の機能セットに分かれており、エージェントはセッション中に再起動なしでget_status({enable: ["visual"]})を使って有効にできます(--capsを使うと起動時に設定できます)。

ボタンのクリックからページのトレースまで、8つのグループに分かれた67種類のツール

グループ数内容
コアとナビゲーション13タブ、ウィンドウ、navigate、screenshot、tile_windows
操作11click、fill_form、upload_file、ダイアログ、クリップボード
DOMとインスペクション12read_page、extract、extract_table、query_dom、get_css_styles、watch_dom
デバッグとネットワーク8execute_js、コンソール、ネットワークログ、モック、track_events
ビジュアルとレスポンシブ5screenshot_diff、ビューポートとズーム、メディアエミュレーション
監査2audit(a11y、キーボード、SEO、セキュリティ、リンク、バイタル、css、リソース、キャッシュを1回の呼び出しで確認)、cookie_audit
状態、ストレージ、ファイル10ストレージ、フィクスチャ、MHTML、capture_downloads(「名前を付けて保存」ダイアログを表示せずに保存済みファイルをエクスポート)、録画、assert
モーションとパフォーマンス6animations、frames(ロングフレーム、CLS、INP)、perf_trace、screencast、lighthouse、heap_snapshot(起動モード)

重要な注記を含むすべてのツールについては、docs/TOOLS.mdをご覧ください。

仕組み

ローカルのWebSocketブリッジを介して、ログイン済みのChromeを操作します

Claude Code  <--stdio-->  MCP Server  <--WebSocket :8765-->  Chrome Extension
                          (server/)                          (extension/, MV3)

Node.jsサーバーがプロトコルとツールのロジックを処理し、MV3拡張機能がChrome APIを通じてコマンドを実行します。ユーザースクリプト(execute_js)はchrome.userScripts.execute()を介して実行されます。

設定とセキュリティ

環境変数には、それぞれ対応する CLI フラグがあります。

変数デフォルト備考
CHROME_BRIDGE_PORT8765
CHROME_BRIDGE_HOST / --host127.0.0.10.0.0.0 を使用するのは、ブラウザーがコンテナーの外部にある場合(ChromeOS/Crostini のポートフォワーディング)に限ります。その場合も、トークンが必須です
CHROME_BRIDGE_TOKEN未設定ext_init と relay_init の両方で必須です。バインド先がループバック以外の場合は、常に設定することを強く推奨します
CHROME_BRIDGE_CAPS / --capscorecore、audits、visual、network、storage、dom、files、all。オプションの機能は、実行時に get_status({enable}) で有効にすることもできます
CHROME_BRIDGE_ALWAYS_LOAD / --always-load使用頻度の高いツール 22 個クライアントがサーバー全体を読み込む際に、コンテキストに保持するツールです。それ以外のツールには _meta['anthropic/alwaysLoad'] = false が設定され、ツール検索の対象になります(Claude Code 2.1.285 以降)。all を指定するとすべてのツールが読み込まれ、カンマ区切りのリストを指定すると、記載したツールが読み込まれます
CHROME_BRIDGE_NO_JS / --no-js未設定ページ内で任意の JavaScript を実行できなくなります。execute_js と modify_dom はスキーマから除外され、wait_for(condition=function) と javascript: / data: URL は拒否されます。get_status で js_evaluation が報告されます
CHROME_BRIDGE_READ_ROOT / --read-root未設定upload_file が読み込める場所です。未設定の場合、キーと認証情報(~/.ssh、~/.aws、~/.gnupg、.env*、id_*、*.pem、*.key など)を除くすべてのファイルが対象になります。シンボリックリンクは先に解決されます。設定した場合は、このディレクトリ以下のファイルのみが対象となり、ファイル名は問いません。証明書の鍵を意図的にアップロードする場合に使います
CHROME_BRIDGE_BROWSER未設定起動モードの場合のみ使用します。ブラウザーのバイナリを指定します。例:C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe。未設定の場合、標準パスから見つかった Chromium、Edge、Brave、Google Chrome のうち最初のものを使用します(Linux では Chromium、次に Google Chrome)。Google Chrome 137 以降では拡張機能を読み込めません
CHROME_BRIDGE_OBSERVE未設定off を指定すると、以下に記載するローカルエラーログが停止します。プラグインでは hook が設定されます。フックはログを保持し、サーバーはログに関与しません
CHROME_BRIDGE_WRITE_ROOT / --write-root未設定モデルが指定するすべてのパス(save_to、output_path、エクスポート先)は、このディレクトリ以下である必要があります。ブラウザーが処理を開始する前に確認されます。~/.config/chrome-bridge 以下にあるサーバー自身の状態ファイルは、引き続き書き込み可能です。CLI はシェルであり、制限されません

ブリッジはループバックにバインドされ、chrome-extension:// オリジンからの拡張機能接続のみを受け付けます。また、トークンが設定されている場合は、両方のハンドシェイクでトークンを要求します。トークンがないと、ローカルプロセスがリレーとして動作し、認証済みブラウザーセッション内で execute_js を実行できてしまいます。2 つ目以降の MCP インスタンスはループバック経由で接続し、relay_init_ok を受け取ります。そのため、ポートを保持する外部プロセスは、コマンドごとにタイムアウトすることなく、すぐに失敗します。

保護されないもの:ページのコンテンツはフィルタリングされずにモデルに届くため、悪意のあるページのテキストは信頼できない入力です。get_storage、session_fixture、HAR エクスポート、スクリーンショットはマスキングされず、Cookie、トークン、個人データが含まれる場合があります。チャットに貼り付けたくない秘密情報を含むページを、自動化の対象にしないでください。

脅威モデル

chrome-bridge は、ログイン済みの実際のブラウザーを AI エージェントに使わせます。MCP サーバーを機能に基づいて評価するスキャナーは、コード実行(execute_js)、Cookie を伴うリクエスト(http_request)、プライベートなページデータの読み取り(get_storage、get_tabs)が可能であることを正しく検出します。これらはバグではなく、製品の機能です。重要なのは、誰がそれらにアクセスできるか、そして悪意のあるページによってエージェントがそれらを使って何をさせられるかです。

  • 接続できるユーザー: 上記のとおりです。ループバックへのバインド、chrome-extension:// オリジンのチェック、両方のハンドシェイクでの CHROME_BRIDGE_TOKEN。
  • 起動モードでは DevTools ポートも開きます。 lighthouse と heap_snapshot のために、127.0.0.1 のポート(システムが選択)を開きます。CDP には認証がありません。実行中は、ローカルのどのプロセスからでも、その専用ブラウザーを操作できます。プロファイルは一時的なもので、あなたのデータは一切保持しません。あなた自身の Chrome がポートを開くことはありません。
  • デバッガーバーが稼働中の合図です。 trusted を指定した click/press_key、via: "debugger" を指定した emulate_media、perf_trace、screencast は、処理中に限り、1 つのタブに chrome.debugger を接続します。その間、Chrome に「このブラウザーのデバッグが開始されました」というバーが表示され、キャンセルすると処理が終了します。
  • 実際のリスクはプロンプトインジェクションです。 ページはエージェントに、JavaScript の実行、Cookie を使ったリクエストの送信、フォームの送信、ファイルのアップロードを指示できます。自動化するすべてのページを信頼できない入力として扱い、金銭や認証情報を扱うサイトでは、エージェントが提案する操作を確認してください。
  • 攻撃対象領域を減らす: --caps core(デフォルト)では、公開する機能が最小限になります。--no-js は任意の JavaScript を無効にし、--write-root はモデルが書き込むすべてのパスを制限します。upload_file は鍵や認証情報を拒否し、--read-root は読み取り先を 1 つのディレクトリに制限します。重要なセッションでは、別の Chrome プロファイルを使って自動化してください。
  • --no-js はサンドボックスではありません: inject_css は引き続き使用でき、url() を使った CSS 属性セレクターによって、属性値がリモートホストに漏れる可能性があります。
  • マシンの外部に送信されるものは、エージェントの代わりにブラウザーが送信するものです。chrome-bridge 自体にはテレメトリーがありません。以下のエラーログは、問題の報告を承認しない限り、ローカルに保存されます。
ローカルエラーログ

chrome-bridge は、自身のツールが失敗すると、claude-observe 形式のローカルファイル ${XDG_STATE_HOME:-~/.local/state}/claude-observe/chrome-bridge.jsonl(モード 0600、0700 のフォルダー内)に1行を追加します(プラグインのコピーは observe/ にあります)。プラグインでは PostToolUseFailure フックが書き込みを行い、npm サーバーのみを使う場合はサーバーが書き込みます。同じエラーが再び発生した場合は、件数を含む1行にまとめられます。

  • 保持されるもの: ツール名、スクラブ処理後のエラーテキスト(ホームフォルダーは ~ に置き換えられ、メールアドレス、URL のクエリ、シークレット、入力値は削除されます)、パラメーター名とテキスト値の長さ、chrome-bridge のバージョン、OS、作業フォルダー名、Claude Code の設定フォルダー名です。プラグインでは、Claude Code とモデルのバージョン、セッション ID、直近に呼び出された3つのツール名も保持されます。
  • 保持されないもの: パラメーター値です。URL、セレクター、入力したテキスト、ページの内容は保持されません。
  • お客様が同意しない限り、コンピューターからデータが送信されることはありません。 プラグインでは、エラーがいくつか蓄積された場合(または1件が数日間保留されている場合、あるいは不具合としてマークされた場合)、ターンの最後にその旨が表示され、Claude が適切なタイミングで、それらを1件の GitHub issue として送信することを提案する場合があります。まず匿名化されたテキストが表示され、その後ボタン(ご自身の GitHub から送信するか、今は送信しないか)で確認を求め、選択した内容だけが送信されます。/chrome-bridge:observe send でも、必要なときに同じ操作を実行できます。list、mark、add はログを読み取り、振り分けます。サーバーのみの場合、送信も提案も行われません。
  • セキュリティに関する報告(境界外への読み取りや書き込み、シークレットの露出、意図しないコード実行、コンピューター外へのデータ送信)が公開 issue に含まれることはありません。/chrome-bridge:observe send --security を実行すると、メンテナー向けの非公開の脆弱性レポートが作成されます。SECURITY.md を参照してください。
  • 無効にするには: ~/.config/claude-observe/config.json に {"enabled": false} を設定します(claude-observe を使用するすべてのプラグインに適用されます)。または、サーバーでは CHROME_BRIDGE_OBSERVE=off を設定します。ログを保持したまま提案を停止するには、{"propose": false} を設定します。

トラブルシューティング

症状原因/対処方法
Chrome extension not connected拡張機能が無効になっているか、拡張機能のポートがサーバーのポートと異なります。エラーには実際のホスト/ポートが表示されます。ポップアップ(⚙)で確認してください。
ポート8765はすでに使用されています想定される動作です。2つ目のMCPセッションはリレーとなり、1つのブリッジを共有します。別のブリッジを使うには、CHROME_BRIDGE_PORTを設定してください。
Port N is held by a process that is not chrome-bridge別のプロセスがそのポートを使用しています。ポートを解放するか、CHROME_BRIDGE_PORTを変更してください。
execute_jsが失敗するchrome://extensions → Chrome Bridge → DetailsでAllow user scriptsを有効にしてください(Chrome 138以降。135~137ではDeveloper Modeを有効にしてください)。
read_consoleがnote=Instrumentation not loadedを返すページを拡張機能より先に開いた、「Capture console & metrics」がオフになっている、またはページにスクリプトを挿入できません(chrome://)。ページを再読み込みしてください。
スクリーンショットがタイムアウトする、またはimage readback failedが表示されるウィンドウが最小化されているか、完全に覆われているとフレームの生成が停止します。10秒後にキャプチャが失敗します。ウィンドウを前面に表示してください。
wait_for/scrollがpage_hidden: trueを返す、ページの更新が停止する同じ原因です。Chromeは非表示のページを描画せず、タイマーの動作も遅くします(数分後には、1分に1回だけ起動します)。get_page_infoはvisibilityを報告します。ウィンドウを画面上に表示するか、new_windowと境界を指定してcreate_tabを実行してください。
screenshot presetsにNOT APPLIEDと表示されるプリセットはウィンドウのサイズを変更しますが、スマートフォンをエミュレートするものではありません(デバイスピクセル比、UA、タッチには対応しません)。ウィンドウマネージャーによって最小幅が適用され、画面サイズを超えるウィンドウにはできません(たとえば、1536×864のChromeOS画面では、ビューポートは最大1536×686です)。スマートフォンをエミュレートするには、deviceを指定したemulate_media(デバッガー経由)を使うか、より大きなビューポートが必要な場合はヘッドレスブラウザーを使ってください。
type_textがmismatch: trueを返すフィールドが値を受け付けませんでした。拡張機能からのイベントはisTrusted: falseとなり、一部のウィジェット(日付ピッカーやトークナイザー付きの検索ボックスなど)はそれらを破棄します。mode: 'keys'を試してから、サイト独自の操作(カレンダーのボタンなど)を使うか、handoffを使ってください。
スクリーンショットの代わりに[media removed: request limit]が表示されるブリッジではなく、MCPクライアントが表示しています。1回のリクエストに画像が多すぎます。save_toを使うか、regionと小さなscaleを指定してelement_screenshotを使ってください。
コマンドが動作したあと、停止するMV3サービスワーカーが再起動し、メモリー内の状態(ネットワークログ、差分のベースライン、HTTP認証)がリセットされました。監視用の呼び出しを再実行してください。
ChromeOSを再起動するたびに拡張機能が消えるLoad unpackedではなく、Web Storeからインストールしてください。
ツールが一覧に表示されないオプトインのグループに含まれています。get_status → caps_availableを確認し、CHROME_BRIDGE_CAPS=allを設定してください。
claude mcp getにコマンド、引数、環境が表示されないプラグインを使用している場合は想定される動作です。Claude Code 2.1.285以降、プラグインが提供するstdioサーバーではこれらが非表示になります(変数名は表示されます)。get_statusはサーバーと拡張機能のバージョン、モード、ホスト、ポート、capsを報告し、接続状態は/mcpで確認できます。
ポップアップに「In attesa: un altro browser è collegato」と表示され、get_statusにrefused_browsersが列挙される拡張機能を使っている2つのブラウザーが同じポートに接続しています。先に接続したブラウザーがブリッジを維持し、もう一方は15秒ごとに再試行して、先に接続したブラウザーが切断されると引き継ぎます。get_status → browserで接続中のブラウザーを確認できます。これまでは、最後に接続したブラウザーが通知なしに引き継いでいました。

ドキュメント

テスト

npm test(Chrome 不要、約 22 秒) · npm run test:e2e(Chrome と接続済みの拡張機能が必要。8765 でブリッジがすでに起動している場合: CHROME_BRIDGE_PORT=8799 node test/test-devtools.js --launch を実行すると、extension/ を使用して独自の Chromium を起動します) · npm run measure(スキーマのコスト) · npm run bench:latency(ツールごとのミリ秒を計測し、独自の Chromium を起動して docs/PERFORMANCE.md に書き込みます)。

関連プロジェクト

  • agent-webbridge — 複数の Chrome プロファイルを一度に操作し、タブを並行して使用します
  • awb-recipes — ログインが必要な Web サイトを自動化するための、コミュニティが管理するサイト別のレシピ集

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。