browser-tools-mcp
browser-tools-mcp
OpenCode/Claude Code 向けの永続的な ヘッド付き Chromium ブラウザ制御。Claude Code のブラウザツールのスタイルを踏襲しています。OpenCode にはネイティブのブラウザツールがなく、custom-scraper(プレーンな HTTP)では JS を多用したページやログイン必須のページを読めないため、2026-08-05 に構築されました。
アーキテクチャ
MCP サーバープロセスはシングルトンのブラウザマネージャーです。OpenCode は CLI セッション全体を通して stdio サーバーを生かし続けるため、ブラウザはエージェントのターンをまたいで存続します。ブラウザがクラッシュしたりウィンドウが閉じられたりした場合は、次のツール呼び出しで透過的に再起動されます(server/browser.js)。
起動設定: headless: false、slowMo: 100、ビューポート 1280x800、デスクトップ版 Chrome UA、--disable-blink-features=AutomationControlled。
Related MCP server: Controlium
ファイル
server/server.js— MCP エントリーポイント。5 つのツールとスキーマを登録します。server/browser.js— シングルトンのブラウザ/コンテキスト/ページマネージャー + 再起動ロジック。server/tools.js— 操作(インタラクタブルツリー、ターゲティング、ハイライト、スクリーンショット)。server/_self_verify.js— スタンドアロンのシナリオテスト:npm run verify。shots/—browser_inspectによるスクリーンショット。USAGE.md— エージェント向けルール(OpenCode のinstructionsに組み込み済み)。
ツール
ツール | 目的 |
| URL を読み込み、最終 URL とタイトルを返します。 |
| スクリーンショット + 数値ターゲット付きのインタラクタブル要素ツリー。 |
| インスペクト番号、CSS セレクター、または表示テキストでクリックします。 |
| 番号/セレクター/テキストでフィールドに入力します。 |
| フローを一時停止し、人間に質問を提示します。 |
要素ターゲティングは Claude Code の規約に準拠しています:browser_inspect は各インタラクタブル要素に数値の target を割り当て、DOM 上では data-bt-target としてタグ付けされるため、後続のアクションはまったく同じ要素を解決できます(非表示の入力があるページでは、可視フィルター済みのインデックスはフィルターなしの .nth() とずれてしまいます)。クリック前に要素が短くハイライトされるため、ユーザーはアクションを確認できます。
検証
npm run verify # navigate -> inspect -> click -> fill -> crash-recovery2026-08-05 に検証済み: example.com のナビゲート/インスペクト/クリック、Google でのターゲット指定による入力、強制終了後の再起動がすべて成功。5 つのツールすべてが登録され、実際の MCP stdio プロトコル上で応答しました。
運用上の注意
ヘッド付きはデスクトップを意味します。 Chromium ウィンドウの起動にはインタラクティブセッションが必要です。ヘッドレス/切断されたマシンでは起動に失敗します — うまくいったふりをせず、その旨を報告してください。
分離されたブラウザ。 これは Luigi のログイン済み Chrome ではありません(それは
chrome-bridgeです)。ログイン済みセッションも拡張機能もなく、完全な書き込みアクセス権を持ちます。人間によるゲート付き。 明示的な指示がない限り、ログイン/注文/送信は行いません。
browser_request_humanは、人間が回答するまで STOP を意味します。~/.config/opencode/opencode.jsoncにbrowser-toolsMCP サーバーとして登録済み。使用ルールはUSAGE.md経由でinstructionsに組み込まれています。
This server cannot be deployed
Maintenance
Related MCP Connectors
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables browser automation (navigate, screenshot, click, type, etc.) for Claude Code via MCP protocol, with a Chrome extension for configuration.2-
- AlicenseNot gradedqualityBmaintenanceChrome extension + MCP bridge that gives Claude control over your real browser via CDP, enabling navigation, clicking, typing, scrolling, screenshots, and JS execution with a visible cursor and tab-bring-to-front.1MIT
- AlicenseAqualityAmaintenanceMCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.251Apache 2.0
- AlicenseNot gradedqualityCmaintenanceProvides a headless Chromium browser through MCP, enabling AI agents to browse JavaScript-rendered pages, search the web, capture screenshots, extract tables and data, and run stateful multi-step interactions like clicking, typing, and form submission.1,619,036 npm1MIT