mcpField
A
agent-browser

agent-browser

ローカル
github.com/codeChapブラウザ自動化13 週間前に更新

agent-browser について

agent-browser は Vercel の agent-browser CLI をラップし、MCP クライアントから Chromium を操作する MCP サーバーです。セッションの永続化やブラウザー環境の診断も備えています。

主な機能

  1. 01Chromium の移動と操作
  2. 02アクセシビリティツリーのスナップショットと撮影
  3. 03Cookie と localStorage の永続化
  4. 04ページテキストのパターン検索
  5. 05ブラウザー環境の診断

活用シーン

  1. 01フォーム入力とページのクリックの自動化
  2. 02操作前のページ構造の確認
  3. 03セッション間でのログイン状態の復元

MCP 対応

stdio 経由で MCP クライアントにブラウザー操作ツールを提供し、agent-browser CLI を利用します。ページ移動や操作、アクセシビリティツリーの確認、スクリーンショットの取得ができます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-agent-browser

ステータス:ベータ — CLI ラッパーは、ユニットテストとフェイクブラウザーを使った stdio スモークテストでカバーされています。実際の Chromium を再起動した後の Cookie 復元は、まだ手動で確認する必要があります。

LLM が実際のブラウザーを操作できるようにします。この MCP サーバーは agent-browser(Vercel Labs)をラップしており、あらゆる MCP クライアントから、ページの移動、フォームへの入力、クリック、アクセシビリティツリーのスナップショット取得、スクリーンショットの撮影ができます。

Grok の web_search / open_page とは異なります。これらはドキュメントを取得しますが、こちらは Chromium を実行します。検索で URL を見つけてから、browser_navigate を使用してください。

前提条件

cargo install agent-browser
agent-browser install

不足しているものがある場合は、browser_doctor を呼び出してください。

ビルド

cargo build --release

バイナリ:target/release/mcp-server-agent-browser

cargo test
./tests/test-stdio.sh

実際の Chromium でのログイン状態の復元は CI では確認されません。画面を表示した状態でログインした後、MCP プロセスを再起動し、次の browser_navigate でもログイン状態が維持されていることを確認してください。

設定

MCP クライアント(stdio):

{
  "mcpServers": {
    "agent-browser": {
      "command": "/path/to/mcp-server-agent-browser"
    }
  }
}

~/.config/mcp-server-agent-browser/config.toml に任意の TOML ファイルを配置できます(config.example.toml を参照)。ファイルがない場合はデフォルト値が使われます。MCP_AGENT_BROWSER_CONFIG でパスを上書きできます。

設定デフォルト値意味
headedfalseウィンドウを表示します。起動時にのみ適用されます。ヘッドレスデーモンがすでに起動している場合は、まず browser_close を実行してください。また、AGENT_BROWSER_HEADED=1 でも設定できます。
persisttrue--session-name <namespace>-<session_id> を指定します(デフォルトのセッションキーは default)。--namespace CLI フラグはありません。代わりに、namespace はその名前に組み込まれます。
keep_daemonfalsefalse の場合、MCP の終了時に close を実行して復元状態を保存し、Chrome が残らないようにします。
namespacemcp-server--session-name の復元キーのプレフィックスです。この MCP の復元ファイルを、CLI を直接使うユーザーのファイルから分離します。
command_timeout_secs120ラッパーのタイムアウトです。Playwright 独自の 25 秒のアクションタイムアウトは変更しません(CLI IPC は約 30 秒です)。
idle_timeout1hAGENT_BROWSER_IDLE_TIMEOUT_MS を設定します(環境変数のみ。--idle-timeout CLI フラグはありません)。keep_daemon = true の場合は "0" を使用してください。
download_dir~/Downloads--download-path。~ は展開されます。
profile未設定永続的な Chrome ユーザーデータディレクトリを任意で指定します。普段使いの Chrome プロファイルは指定しないでください。
encryption_key_file未設定AGENT_BROWSER_ENCRYPTION_KEY を設定します。復元ファイルには認証情報が含まれます。この設定がない場合、平文で保存されます。
AGENT_BROWSER_PATHagent-browserCLI バイナリです。

allowed_domains は任意です。localhost は、localhost を除外するリストを設定しない限り許可されます。

できること

これまでと同じ操作(移動、クリック、入力、スナップショット、スクリーンショット、Cookie、eval、CDP、セッション)に加えて、以下を利用できます。

  • browser_doctor — CLI、設定、永続化、headed/DISPLAY、デーモンの推定状態を確認します。Chrome は起動しません。
  • browser_get_text pattern — ページのテキストに対して正規表現で検索し、前後 2 行のコンテキストを返します。
  • browser_wait — セレクターに加えて、load / url / text を待機条件に指定できます。

一般的な流れ:

  1. browser_navigate
  2. browser_snapshot(インタラクティブ要素には -i を指定)
  3. @refs を使って browser_click / browser_fill
  4. ピクセル単位の情報が必要な場合は browser_screenshot

永続化

persist = true(デフォルト)の場合、各セッションは終了時と CLI の自動保存間隔で Cookie と localStorage を保存します。状態は ~/.agent-browser/ 以下に、mcp-server の名前空間で保存されます。分離された session_ids は復元キーを共有しません。

画面を表示した状態で一度ログインし、browser_close を実行するか MCP を終了してから、再起動してください。次の移動時にそのセッションが復元されます。

MCP プロセスを強制終了すると、デーモンが実行中のまま残ることがあります。browser_doctor で確認できます。永続化が有効であれば、アイドル時のシャットダウンでも状態は保存されます。

制限事項

  • agent-browser(Playwright)経由の Chromium を使用します。検索はできません。
  • 既存のデーモンを終了するまで、ヘッド表示は無視されます。
  • Ubuntu の Snap 版 Chromium では、DevTools ポートが通知されないことがあります。agent-browser install のブラウザーまたは executable_path の使用を推奨します。
  • 書き込み(スクリーンショット、PDF、ダウンロード)は、相対パス、/tmp 配下、または download_dir 配下で行う必要があります。
  • 要素のスクリーンショットでは、CSS セレクターまたは @ref と、末尾の :has-text("...") を指定します。セレクターは最初に検証されるため、一致しない場合はエラーとなり、ビューポート全体のスクリーンショットに黙って切り替わることはありません。full_page とは併用できません。
  • Playwright のアクションタイムアウト 25 秒は、このラッパーではなく上流の CLI による制限です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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