chrome-bridge
Allows AI agents to directly control a logged-in Google Chrome browser, providing tools for managing tabs, navigating pages, reading page content, taking screenshots, clicking and typing, executing JavaScript, and managing browser profiles.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chrome-bridgeCheck my Gmail in the work profile and summarize the first unread email"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chrome Bridge
AIエージェントから、ログイン済みのChromeをそのまま操作する。
Claude Code / Codex / その他のMCP対応クライアントから、あなたが普段使っているChromeプロファイル(ログイン済みのセッション、Cookie、拡張機能つき)を直接動かすためのローカルブリッジです。
ヘッドレスブラウザではありません。いま開いているChromeそのものを操作します。だからログインし直す必要がなく、2段階認証も、Cookieのコピーも要りません。
Claude Code ──stdio──▶ server.js ──HTTP──▶ hub.js ──WebSocket──▶ Chrome拡張 ──▶ あなたのChrome
(MCPクライアント) (薄いクライアント) (常駐ハブ) (ログイン済み)何ができるか
38個のMCPツールを提供します。
分類 | ツール |
プロファイル |
|
タブ |
|
移動 |
|
読み取り |
|
操作 |
|
低レベル |
|
その他 |
|
real_click / real_type と evaluate_debugger がある理由
JavaScriptの element.click() が効かないサイトがあります。ReactやWixで作られたフォームは、信頼できるマウスイベント(isTrusted: true)しか受け付けないことがあるためです。real_click はChrome DevTools Protocol経由で実際の入力イベントを送るので、こうしたページでも動きます。
同様に、Trusted Typesを有効にしたサイト(Googleフォームなど)では evaluate がブロックされます。evaluate_debugger はDebuggerドメイン経由で評価するので、そこを通り抜けられます。
これらは実際に壁にぶつかって足したものです。
Related MCP server: monkeysee
複数プロファイルの同時利用
このブリッジの中心的な設計です。仕事用と個人用、あるいは複数の顧客アカウントを、セッションごとに独立して扱えます。
ハブ(
hub.js)は1本だけ常駐し、接続してきた拡張機能をプロファイル単位でルーティングしますMCPクライアント(
server.js)はセッションごとに別プロセスで起動し、それぞれ自分のtargetProfileを持ちますあるセッションで
set_active_profileを呼んでも、他のセッションには影響しません
Claude Codeを2つ立ち上げて、片方は仕事アカウント、もう片方は個人アカウントを操作する、といった使い方ができます。
必要なもの
Node.js 18以上
Google Chrome(Windows。他OSは未検証です)
セットアップ
1. 依存関係
npm install2. Chrome拡張機能を読み込む
Chromeで
chrome://extensionsを開く右上の「デベロッパーモード」をON
「パッケージ化されていない拡張機能を読み込む」で
extension/フォルダを選択拡張機能のポップアップを開き、
alias(例:work,personal)を設定
複数のプロファイルで使う場合は、各プロファイルで同じ手順を繰り返し、それぞれ違う alias を付けてください。
3. ハブを起動
node hub.js1台のマシンにつき1本だけ動かします。拡張機能がWebSocketで接続してきます。
4. MCPクライアントを繋ぐ
Claude Codeの場合、.mcp.json に追加します。
{
"mcpServers": {
"chrome-bridge": {
"command": "node",
"args": ["/path/to/chrome-bridge/server.js"],
"env": { "CHROME_BRIDGE_PROFILE": "work" }
}
}
}CLIから使う
MCPを介さず直接叩くこともできます。デバッグや、シェルスクリプトからの利用に便利です。
node call.mjs list_profiles
node call.mjs ping profile=work
node call.mjs tabs_list profile=personal
node call.mjs navigate profile=work url=https://example.com
node call.mjs chrome_bridge_health注意: JSON引数と key=value 形式を1つのコマンドで混ぜないでください。引数が失われます。どちらかに統一します。
停止中のプロファイルを起動する
Chromeの Local State には存在するが、まだ起動していないプロファイルを立ち上げられます。
node call.mjs launch_profile profile=you@example.com
node call.mjs launch_profile profile="Profile 10" url=https://example.comハブは profile.info_cache からメールアドレス、プロファイル名、Gaia名、ディレクトリ名の順に解決します。Chromeは起動したが拡張機能が timeoutMs(既定20秒)以内に接続しない場合、HTTPは200を返しますが success:false になります。そのプロファイルで拡張機能を入れて再試行してください。
環境変数
ハブ側
変数 | 既定値 | 説明 |
|
| 拡張機能用WebSocketポート |
|
| クライアント用HTTPポート |
| — |
|
| 自動検出 |
|
|
|
|
クライアント / CLI側
変数 | 既定値 | 説明 |
|
| ハブのホスト |
|
| ハブのHTTPポート |
| — | セッション初期の対象プロファイル |
つまずきやすいところ
実運用で踏んだものです。
画面が描画されない / クリックが効かない
ウィンドウが非表示・非最前面だと、Chromeがレンダリングを止めることがあります。スクリーンショットが真っ白になったり、クリック座標がずれたりします。CDPで Emulation.setFocusEmulationEnabled を有効にすると解決します。
node call.mjs cdp profile=work method=Emulation.setFocusEmulationEnabled params='{"enabled":true}'evaluate が Uncaught で失敗する
Trusted Typesを使っているサイトです。evaluate_debugger に切り替えてください。また、evaluate_debugger に渡すスクリプトは改行を含まない1行にしてください。複数行のスクリプトは失敗します。
タブが応答しなくなる
evaluate_debugger が20秒でタイムアウトするようになったら、そのタブは死んでいます。tabs_select では復旧しません。新しいタブを作り直してください。
.click() が無反応
real_click を使ってください。セレクタを指定できます。チェックボックスの場合、input 要素ではなく親の <label> や <div> をクリックしないと入らないことがあります。
テスト
代替ポートを使うので、稼働中のハブ(9239/9240)には触れません。
node test/multiprofile.test.mjs
node test/launch-profile.test.mjs責任について
この道具は、あなたのログイン済みブラウザセッションに対する完全な操作権限をAIエージェントに渡します。認証済みのアカウントで、購入・送信・削除といった取り消せない操作が実行できてしまうということです。
信頼できるエージェントとプロンプトでのみ使ってください。 Webページの内容を読ませる場合、そのページに書かれた文字列は指示ではなくデータとして扱う設計にしてください
取り消せない操作の前には人間の確認を挟んでください。 送信・購入・削除・公開は特にそうです
ハブは
127.0.0.1だけをlistenします。ネットワークに公開しないでください各サービスの利用規約を確認してください。ブラウザ自動化を禁止しているサイトがあります
作者はこの道具の使用結果について責任を負いません。
ライセンス
MIT
由来
25個の個人プロジェクトを1人で運用する中で、AIエージェントに「ログイン済みのブラウザ」を触らせる必要があって作りました。ヘッドレスブラウザでは、2段階認証とCookieの持ち回りで毎回止まるためです。実際に使いながら、動かなかったところを1つずつ潰しています。
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
One MCP for the Web. Easily search, crawl, navigate, and extract websites without getting blocked.…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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 gradedqualityBmaintenanceEnables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.101MIT
- AlicenseNot gradedqualityCmaintenanceEnables browser automation over MCP using a real Chrome browser with existing profile, supporting real tabs, downloads, cookies, and RPA workflows.104MIT
- FlicenseNot gradedqualityCmaintenanceDrive your real, signed-in Chrome browser from any MCP client, enabling browser automation such as navigation, clicking, typing, and screenshots through standard MCP tools.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mistudio0902-lab/chrome-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server