mcpField
B
browser-mcp-cdp

browser-mcp-cdp

ローカル
github.com/zhiqi-liブラウザ自動化027 週間前に更新

browser-mcp-cdp について

browser-mcp-cdpは、Chrome DevTools Protocol経由でローカルのChromeを操作するMCPサーバーです。ログイン状態を保つ使い捨てのプロファイルコピーで元のプロファイルを変更せず、複数のクライアントでブラウザーを共有できます。

主な機能

  1. 01ローカルChromeの操作
  2. 02分離されたプロファイルコピー
  3. 03複数クライアントでの共有
  4. 04ページ移動とJavaScript実行
  5. 05クリック、入力、撮影、ページ読取
  6. 06タブ管理とページスクロール

活用シーン

  1. 01ログイン状態でGmailや社内ダッシュボードを確認
  2. 02元のChromeプロファイルを変えずにエージェントでページ操作
  3. 03複数のMCPクライアントでブラウザーセッションを共有

MCP 対応

MCPクライアントにブラウザー操作ツールを提供し、共有ブローカーで複数クライアントの接続を管理します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"zhiqi-li-browser-mcp-cdp": {
"command": "npx",
"args": [
"-y",
"browser-mcp-cdp"
]
}
}
}
起動コマンドnpx -y browser-mcp-cdp

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

パッケージ
npmbrowser-mcp-cdp0.1.2

ツール

13

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
urlstringはい移動先の URL

詳細

browser-mcp-cdp

Chrome DevTools Protocol を介して実際のローカル Chromeを操作する Model Context Protocol(MCP)サーバーです。クラウドサービスに認証情報をアップロードせずに、ログイン済みセッション(Gmail、社内ダッシュボード、銀行など)へのアクセスを必要とするエージェント向けに設計されています。

なぜ別のブラウザー MCP が必要なのですか?

他の選択肢とはトレードオフが異なります。

browser-mcp-cdpPlaywright MCPChrome DevTools MCP
ブラウザーローカルの Chrome管理対象の Playwright Chromiumローカルの Chrome
ログイン状態✅ プロファイルのスナップショット(Cookie、ログイン情報、IndexedDB)❌ 新しいプロファイル✅ 実際のプロファイル(変更されます)
プロファイルの分離✅ 起動時にコピーし、実際のプロファイルには触れません該当なし⚠️ 直接接続
複数クライアント✅ MCP クライアント間でブローカーを共有❌ クライアントごと❌ クライアントごと
依存関係Node のみ(Playwright のダウンロード不要)Playwright + ブラウザーNode のみ

プロファイルのスナップショット方式により、エージェントに「メールを確認して」と頼むと、ログイン済みの Gmail を見ることができますが、エージェントの操作によって実際の Chrome プロファイルが変更されることはありません。各セッションでは、破棄可能なコピーが使われます。

インストール

claude mcp add browser -- npx -y browser-mcp-cdp

または、~/.claude.json / Claude Desktop の設定に手動で追加します。

{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["-y", "browser-mcp-cdp"]
    }
  }
}

Node 18+ と Google Chrome のインストールが必要です。

ツール

ツール用途
browser_navigateURL を読み込み、最終 URL とタイトルを返します
browser_evaluateページ内で JS を実行し、結果を返します
browser_screenshot現在のページの PNG
browser_clickCSS セレクターを使ってクリックします
browser_click_atピクセル座標を指定してクリックします(iframe / オーバーレイを貫通)
browser_fillinput/textarea/select の値を設定します
browser_wait_forセレクターが表示されるまで待機します
browser_get_url現在の URL
browser_get_textページまたは要素の表示テキスト
browser_get_htmlページまたは要素の outerHTML
browser_scroll(x, y) ピクセル分スクロールします
browser_tabs開いているタブの一覧
browser_new_tab新しいタブを開きます

環境変数

変数デフォルト
BROWSER_MCP_CHROME_PATHOS ごとに自動検出
BROWSER_MCP_CHROME_PROFILE_ROOTOS 標準の Chrome プロファイルディレクトリ
BROWSER_MCP_BROKER_SOCKET_PATH~/.browser-mcp/broker.sock
BROWSER_MCP_BROKER_LOCK_PATH~/.browser-mcp/broker.lock
BROWSER_MCP_BROKER_IDLE_TIMEOUT_MS600000(10 分)

仕組み

  1. 最初の MCP クライアント接続時に、ブローカーのサブプロセスが起動します(デタッチ)。
  2. ブローカーは、Chrome プロファイルの Cookie/ローカルストレージ/ログインデータを一時ディレクトリにコピーします。
  3. ブローカーは --user-data-dir=<temp> と --remote-debugging-port を指定して Chrome を起動します。
  4. 以降の MCP クライアントは Unix ソケット経由で同じブローカーに接続し、1 つの Chrome を共有します。
  5. アクティビティがない状態が BROKER_IDLE_TIMEOUT_MS 続くと、ブローカーは終了し、一時プロファイルが削除されます。

セキュリティ

このサーバーを使うと、LLM はアカウントにログイン済みのブラウザーで任意の JavaScript を実行できます。信頼できるモデルとプロンプトのみを使用してください。プロファイルのスナップショットによって被害は制限されます(実際の Chrome に永続的な変更は加えられません)が、セッション中、エージェントは Cookie、セッショントークン、およびログイン中のあなたに表示されるあらゆるデータを読み取ることができます。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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