weboperator について
WebOperator は、既存のセッションを保ったまま現在のブラウザータブを自動操作する Chrome 拡張機能兼 MCP サーバーです。ブラウザー利用者やエージェントクライアント向けに、確認可能な計画・実行・検証と定期タスクを提供します。
主な機能
- 01現在の Chrome タブを自動操作
- 02移動、クリック、入力、スクロール、テキスト抽出
- 03ページスナップショットに基づく計画・実行・検証
- 04ブラウザータスクを定期実行
- 05ローカル MCP ブリッジでブラウザー操作を公開
- 06操作トレース、履歴、チェックポイントを保持
活用シーン
- 01Chrome で開いているページを要約
- 02複数のタブ間で情報を比較
- 03リリースページを定期確認
- 04MCP エージェントからログイン済みタブを操作
MCP 対応
ローカルブリッジは stdio 経由で現在の Chrome または Brave タブを MCP クライアントに公開します。移動、操作、スクリーンショット、抽出、目標実行など 10 種類のブラウザーツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y weboperator-mcpWEBOPERATOR_BRIDGE_PORTPort of the local WebOperator bridge HTTP API.WEBOPERATOR_AGENT_SOCKETUnix socket path the bridge listens on.WEBOPERATOR_API_TOKENシークレットShared token required by the bridge when unauthenticated access is disabled.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
10掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
WebOperator — Chrome 自動化向け AI ブラウザーエージェントと MCP サーバー
Chrome にしてほしいことを平易な英語で伝えれば、エージェントが実行します。
多くのブラウザーエージェントは独自のブラウザーを使います。WebOperator が操作するのは、すでに使っているブラウザーです。目の前のタブを、セッションやログイン状態を維持したまま使います。別のプロファイルも、再ログインも、Cookie のコピーも不要です。背後で動くモデルは Ollama や MLX で提供するローカルモデルにできるため、閲覧したページをマシンの外に出す必要はありません。また、双方向に連携します。ローカルブリッジが同じライブタブを MCP 経由で公開するため、Hermes、OpenClaw、その他のエージェントクライアントが、ブラウザーをツールとして利用できます。
git clone https://github.com/KazKozDev/WebOperator.git
npm --prefix WebOperator/core ci
npm --prefix WebOperator/core run build

目標を一度入力 · エージェントが計画、実行、検証 · すべての手順を確認可能
クイックスタート
始め方は 2 通りあります。Node を使いたくない場合は、
最新リリースから
weboperator-1.5.0-chrome.zip アーカイブをダウンロードして展開してください。
そのフォルダーが、ビルド済み拡張機能です。
代わりに上記のコマンドを実行した場合は、ビルドが core/dist に出力され、
1 秒もかからずに完了します。
vite v8.0.11 building client environment for production...
✓ 101 modules transformed.
✓ built in 189ms
どちらの場合も、chrome://extensions を開いてデベロッパーモードを有効にし、パッケージ化されていない拡張機能を読み込むをクリックして、取得したフォルダーを指定します。Cmd+Shift+K(Linux では Ctrl+Shift+K)を押してサイドパネルを開き、Settings でプロバイダーを選んで、目標を入力します。
初期設定では、エージェントは http://127.0.0.1:11434 の Ollama に接続します。そのため、最初のタスクを始める前にツール対応のローカルモデルを起動するか、API キーを貼り付けてリモートプロバイダーを使用してください。
開いている Chrome タブをまたいで複数ステップのタスクを自動化
WebOperator は、表示中のタブを使って「計画 → 実行 → 検証」のループを行います。内容を確認できる計画を作成し、一度に 1 つずつブラウザーツールを呼び出してから、次に進む前にページの最新スナップショットと照らし合わせて結果を確認します。
Summarize the current page
ナビゲーション、クリック、入力、キー操作、スクロール、タブの切り替え、スクリーンショットの撮影、構造化テキストの抽出に対応しています。そのため、答えが開いている複数のタブに散らばっている場合も、同じループで処理できます。
Compare info across tabs
サイドパネルには計画、すべてのアクション、最終回答がリアルタイムで表示され、完全な実行記録も保存されます。履歴、チェックポイント、スケジュール実行には、それぞれ専用のタブがあります。一方で、エージェントが把握できるのは、ブラウザーで実際に見える情報だけです。そのため、非表示の情報、ペイウォールのある情報、地域制限された情報は回答に含まれません。
- エージェントエンジニアリング — 計画、実行、検証のループ、29 個のブラウザーツール、6 つのループガード
- LLM セキュリティ — 9 つの敵対的フィクスチャー全体で、プロンプトインジェクション攻撃率を 44.4% から 0.0% に低減
- LLM 評価 — AssistantBench と、決定論的ハーネスによる 24 のフィクスチャーについては、docs/evals.md をご覧ください
- MCP — ブラウザーを MCP サーバーとして公開し、あらゆるエージェントクライアント向けに 10 個のツールを提供
Chrome でブラウザー自動化を定期実行
キーボードの前にいるかどうかにかかわらず実行してほしいタスクもあります。スケジュールに開始 URL、目標、実行間隔(once、hourly、daily、weekly)を設定すると、サイドパネルを閉じていても、Chrome のアラームが時間どおりにエージェントを起動します。
Task name: Morning release check
Start URL: https://github.com/KazKozDev/WebOperator/releases
Repeat: daily
Goal: Tell me if a new version was published since yesterday
各実行は実行記録とともに履歴に保存されるため、あとから戻って何をしたのか正確に確認できます。ログイン画面や認証チャレンジなど、ユーザー自身でしか解決できない問題に遭遇すると、実行は停止し、何も知らせずに失敗するのではなく needs_user として記録されます。
Hermes、OpenClaw、または別の MCP エージェントを接続する
ライブブラウザーを、他のユーザーのツールとして使えます。ローカルブリッジは stdio 経由で MCP を通信し、browser_snapshot、browser_navigate、browser_click、browser_type、browser_press、browser_scroll、browser_screenshot、browser_extract、browser_solve_captcha、weboperator_execute_goal の 10 個のツールを公開します。
cd weboperator-bridge
./install.sh
node mcp-server.js
install.sh は、これらの呼び出しをアクティブな Chrome または Brave のタブにつなぐ Native Messaging ホストを登録します。Hermes と OpenClaw 用の設定ファイルは、すでに weboperator-bridge/ に用意されています。
仕組み
サイドパネルまたは外部 MCP エージェントから目標が送られます。そこから先は、サービスワーカーがモデル呼び出し、タスクの状態、再試行、検証、スケジュール、ストレージを管理します。コンテンツスクリプトは実際の操作を担います。ページを安定した要素参照を含むアクセシビリティスナップショットに変換し、その参照を使って DOM 操作を実行します。ページに書かれた内容はすべてデータとして扱い、従うべき指示とは見なしません。組み込みの 12 個のスキルは、ドメインごとの手順として機能し、エージェントが該当するサイトやタスクを認識すると実行されます。
goal → page snapshot → model tool call → verified action → trace
権限
指定されたページの読み取りと操作のため、拡張機能は <all_urls> に加えて activeTab/tabs/scripting を要求します。また、通常の DOM API では実行できない DevTools Protocol の操作を行うために、debugger も要求します。その他の権限は管理用です。sidePanel は UI、storage は設定と履歴、alarms はスケジュール実行、downloads はファイルダウンローダーのスキル、nativeMessaging は MCP ブリッジに使われます。bookmarks と tabGroups は任意で、実際に必要になった場合にのみ要求されます。
debugger 権限があるため、操作中は Chrome に黄色の「WebOperator started debugging this browser」というバーが表示されます。このバーは拡張機能ではなく Chrome のもので、エージェントが接続を解除するとすぐに消えます。
設定と要件
設定
| オプション | デフォルト | 説明 |
|---|---|---|
| プロバイダー | ollama | Ollama、Anthropic、DeepSeek、Gemini、MLX、OpenAI、独自の OpenAI 互換エンドポイント、OpenRouter、SiliconFlow、xAI を選択します |
| ベース URL(OpenAI 互換) | http://127.0.0.1:8080/v1 | OpenAI 互換プロバイダーの接続先を llama.cpp、LM Studio、vLLM、LiteLLM、または任意のゲートウェイに設定します |
| Ollama URL | http://127.0.0.1:11434 | ローカルの Ollama エンドポイントを設定します |
| スクリーンショットポリシー | auto | ビジョン機能を自動、常時有効、または無効にするかを設定します |
| 操作タイムアウト | 10000 ms | ブラウザー操作 1 回あたりの試行時間を制限します |
| ドメイン許可リスト/ブロックリスト | 空 | 入力されている場合、ドメインに基づいてタスクを制限または拒否します |
ブリッジの認証
ブリッジは 127.0.0.1:8765 でリッスンし、WEBOPERATOR_API_TOKEN が設定されるまでは認証なしの呼び出しを受け付けます。必ず設定してください。バインドホスト、ポート、ソケット、ログの各パスなど、ブリッジに関するすべての変数は docs/api.md に記載されています。
- Chrome 120 以降、または同世代の Chromium ブラウザー
- 拡張機能を自分でビルドする場合は、Node.js と npm
- Ollama または MLX でローカルに提供するか、上記の表にあるリモートプロバイダーのいずれかを通じて利用する、ツール呼び出しが可能なモデル。エージェントが動作する唯一の方法がツール呼び出しなので、これは必須要件です。推論とビジョン機能があると便利ですが、なくてもエージェントは動作し、ステップトレースでどちらの機能を使わなかったか確認できます
- Chrome Web Store では配布されていないため、パッケージ化されていない拡張機能として読み込みます
- MCP ブリッジインストーラーには、macOS または Linux が必要です
shellcheckは、すべてのローカルチェックゲートを実行する場合にのみ必要です
制限事項
- 動的なページ、キャンバスを多用するページ、または無限スクロールのページでは、エージェントが要素を確認してから操作するまでの間に、要素参照が無効になることがあります。
- ボット検出機能があるサイトや、通常とは異なるフォーカス処理を行うサイトでは、完全に動作しないことがあります。
- 長いタスクでは、次第に精度が落ちます。チェックポイントとコンテキスト圧縮で抑制できますが、完全には解決しません。
- リモートプロバイダーを指定すると、そのプロバイダーには、テキストやスクリーンショットを含むページの観察内容が送信されます。
- テスト対象のブラウザーは Chrome と Brave です。その他の Chromium ビルドと Windows は未テストで、ブリッジインストーラーは macOS と Linux 以外では実行を拒否します。
トラブルシューティング
Ollama 403— Ollama が拡張機能のオリジンを拒否しています。次のコマンドで再起動してください。OLLAMA_ORIGINS="chrome-extension://phbohkmfojcjbmgfnaikenmgemgckdpg,http://localhost:*" ollama serve。オリジンは明示的に指定する必要があります。Ollama はchrome-extension://*をリストに追加しても、403 を返します。上記の ID はマニフェストキーによって固定されており、サイドパネルのエラーメッセージにも表示されます。- 「モデルがツール呼び出しを停止しました」 — モデルがツールを呼び出せないか、安定して呼び出すには小さすぎます。モデルを変更してください。ツール呼び出しは必須要件です。
- Chrome が「パッケージ化されていない拡張機能を読み込む」でフォルダーを受け付けない — リポジトリのルートではなく、
core/distまたは展開したリリースフォルダーを指定してください。 - ブリッジが
401を返す — ブリッジにWEBOPERATOR_API_TOKENを設定していますが、クライアントが送信していません。リクエストにAuthorization: Bearer $WEBOPERATOR_API_TOKENを追加してください。 - 問題なさそうに見えるページでタスクが失敗する — まずサイドパネルでステップトレースを確認してください。古くなった要素参照やボット検出の壁は、失敗したアクションとして表示されます。
コントリビューション
バグ報告、機能リクエスト、プルリクエストを歓迎します。 CONTRIBUTING.md では、セットアップ、すべての変更が通過する必要のある8段階のチェックゲート、コミット規約について説明しています。リリース済みバージョンは CHANGELOG.md に記載されています。
セキュリティ上の問題を見つけた場合は、公開 issue を作成せず、 SECURITY.md の説明に従って非公開で報告してください。
手動インストール、Docker、開発環境のセットアップ
リリースから
リリースページの各アーカイブには、
.sha256 ファイルが付属しています。完全なチェックゲートの通過後、タグ付けされたコミットから
release ワークフローによってビルド、公開されます。
ソースから
npm --prefix core ci && npm --prefix core run build を実行し、その後、生成物をパッケージ化されていない拡張機能として読み込みます。
Docker
Dockerfile または Compose 設定はありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。