Chrome MCP
Chrome MCP
Chrome MCP は、ブラウザセッションを別のエンジンにコピーすることなく、実際の Chrome タブを Model Context Protocol クライアントに公開します。Chrome 拡張機能は chrome.debugger を介してユーザーの既存プロファイルのタブを制御し、永続的なローカルデーモンが1つ以上の Chrome プロファイルと MCP プロセスを調整します。
アーキテクチャ
MCP client ──stdio── MCP bridge ──authenticated HTTP── persistent daemon
│
├── WebSocket ── Chrome extension/profile A ── tabs
└── WebSocket ── Chrome extension/profile B ── tabsタブはブラウザセッションです。セッションを閉じると、その Chrome タブも閉じます。
各拡張機能インストールは、1つの Chrome プロファイル/インスタンスを表します。
デーモンは、接続されているすべてのインスタンスにわたって、グローバルな数値
session_idを割り当てます。デーモンは MCP クライアントの再起動とは独立して永続し、トレイアイコンはありません。
アクションは
chrome.debuggerを介して Chrome DevTools Protocol を使用するため、評価された JavaScript はページの CSP によってブロックされません。認証状態、クッキー、IndexedDB、サビスワーカー、証明書、拡張機能、ブラウザフィンガープリントは、セッションの移行が不要なため、元の Chrome プロファイルに残ります。
Related MCP server: monkeysee
インストール
Chrome 116 以降が必要です。
bun install利用可能にしたいすべての Chrome プロファイルで拡張機能を読み込みます:
chrome://extensionsを開きます。デベロッパーモードを有効にします。
パッケージ化されていない拡張機能を読み込むを選択します。
このリポジトリの
extensionディレクトリを選択します。拡張機能のポップアップを開き、インスタンスにわかりやすい名前を付け、必要に応じて デフォルトとして使用 を選択します。
Chrome は ws://127.0.0.1:55333 に到達できる必要があります。デーモンは、chrome-extension:// オリジンからの拡張機能 WebSocket のみを受け入れ、localhost のみにバインドします。
MCP クライアント設定
{
"mcpServers": {
"chrome": {
"command": "bunx",
"args": ["-y", "@cypherpotato/chrome-mcp", "--mcp"]
}
}
}bun link 後のローカルチェックアウトでは、bunx を使用せず、リンクされた実行可能ファイルを MCP 設定で直接指定します:
{
"command": "C:\\Users\\<user>\\.bun\\bin\\chrome-mcp-electron",
"args": ["--mcp"]
}CLI
chrome-mcp-electron --mcp
chrome-mcp-electron --daemon
chrome-mcp-electron --status
chrome-mcp-electron --stop-daemon
chrome-mcp-electron --help--mcp は、必要に応じてデーモンをバックグラウンドで起動し、その後 stdio 経由で MCP を提供します。MCP プロセスを閉じても、デーモンは停止せず、Chrome 拡張機能も切断されません。
ツール
公開されているツール名と入力スキーマは Browser MCP と一致しています:
browser_toggle_sessionbrowser_import_sessionbrowser_run_actionsbrowser_get_context
browser_toggle_session({ "action": "start" }) は、デフォルトの Chrome インスタンスにタブを開きます。複数のインスタンスが接続されている場合は、拡張機能のポップアップでデフォルトを選択します。拡張機能によって報告された既存のタブにも session_id が割り当てられ、直接制御できます。
browser_get_context は、接続されているすべてのインスタンスとそのタブを一覧表示します。URL はクエリ文字列なしで返されます。
複数の Chrome インスタンスとプロファイル
パッケージ化されていない拡張機能を、各プロファイルに個別にインストールします。各インストールでは、そのプロファイルに保存される安定したランダムなインスタンス ID が作成され、デーモンに自動的に再接続します。インスタンス名は一意である必要はありませんが、区別可能な名前を推奨します。
デーモンは、拡張機能またはサービスワーカーの再起動後、タブを再調整します。セッションは、それを所有する拡張機能が接続されており、かつタブが存在する限り、アドレス指定可能なままです。
機能
browser_run_actions は、Browser MCP と同じブラウザヘルパーサーフェスをサポートしています:
スナップショットと JavaScript の評価;
クリック、右クリック、ホーバー、ドラッグ、スクロール、入力;
ナビゲーション;
スクリーンショット;
コンソールとネットワークのログ;
ネットワークリクエストの詳細と、Chrome がまだ保持している場合のレスポンスボデイ;
レスポンシブビューポートのエミュレーションとカラースキームのエミュレーション;
JavaScript の alert、confirm、prompt の処理。
制限事項
Chrome はタブごとに1つのデバッガー接続のみ許可します。そのタブを制御する前に DevTools を閉じてください。DevTools を開くと拡張機能がデタッチされる可能性があります。
Chrome 内部ページ、拡張機能ページ、Chrome Web Store、その他の制限されたスキームは、制御したり、エージェントセッションとして公開したりすることはできません。
拡張機能は各プロファイルにインストールする必要があります。あるプロファイルが別のプロファイルのタブを検査することはできません。
デバッガー権限により、タブがアタッチされている間、Chrome の警告が表示されます。
レスポンスボデイは、Chrome のネットワークバッファから期限切れになる可能性があります。
ネイティブタッチ入力とブラウザ内部のダウンロード CDP API は、
chrome.debuggerを介しては公開されません。
開発
bun run check
bun run testテストスイートは、モックの拡張機能 WebSocket クライアントを使用して、Chrome を起動せずに、永続的なデーモンのライフサイクル、認証、タブ/セッションの再調整、複数インスタンス、デフォルトインスタンスの選択、アクションのルーティング、再接続動作を検証します。
内部プロトコルは docs/protocol.md に文書化されています。
This server cannot be deployed
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Give AI agents a real cloud Chrome: open sessions, navigate, read pages, click, type and screenshot.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to control and interact with the user's real Chrome browser session, leveraging existing logins, cookies, and extensions for AI-driven automation.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.9 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables local control of existing Chrome/Chromium browser tabs through MCP, including tab management, navigation, content reading, screenshots, and page interaction.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to directly operate your existing logged-in Chrome profiles, including cookies and extensions, without re-authentication or a headless browser. It provides tools for managing tabs, navigating, reading pages, clicking, typing, and launching profiles.7 npmMIT