Skip to main content
Glama

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 に組み込み済み)。

ツール

ツール

目的

browser_navigate(url)

URL を読み込み、最終 URL とタイトルを返します。

browser_inspect()

スクリーンショット + 数値ターゲット付きのインタラクタブル要素ツリー。

browser_click(target)

インスペクト番号、CSS セレクター、または表示テキストでクリックします。

browser_fill(target, value)

番号/セレクター/テキストでフィールドに入力します。

browser_request_human(message)

フローを一時停止し、人間に質問を提示します。

要素ターゲティングは Claude Code の規約に準拠しています:browser_inspect は各インタラクタブル要素に数値の target を割り当て、DOM 上では data-bt-target としてタグ付けされるため、後続のアクションはまったく同じ要素を解決できます(非表示の入力があるページでは、可視フィルター済みのインデックスはフィルターなしの .nth() とずれてしまいます)。クリック前に要素が短くハイライトされるため、ユーザーはアクションを確認できます。

検証

npm run verify        # navigate -> inspect -> click -> fill -> crash-recovery

2026-08-05 に検証済み: example.com のナビゲート/インスペクト/クリック、Google でのターゲット指定による入力、強制終了後の再起動がすべて成功。5 つのツールすべてが登録され、実際の MCP stdio プロトコル上で応答しました。

運用上の注意

  • ヘッド付きはデスクトップを意味します。 Chromium ウィンドウの起動にはインタラクティブセッションが必要です。ヘッドレス/切断されたマシンでは起動に失敗します — うまくいったふりをせず、その旨を報告してください。

  • 分離されたブラウザ。 これは Luigi のログイン済み Chrome ではありません(それは chrome-bridge です)。ログイン済みセッションも拡張機能もなく、完全な書き込みアクセス権を持ちます。

  • 人間によるゲート付き。 明示的な指示がない限り、ログイン/注文/送信は行いません。browser_request_human は、人間が回答するまで STOP を意味します。

  • ~/.config/opencode/opencode.jsonc に browser-tools MCP サーバーとして登録済み。使用ルールは USAGE.md 経由で instructions に組み込まれています。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Chrome 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.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    25
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 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 npm
    1
    MIT