mcpField
B
browser-agent

browser-agent

ローカル
github.com/runbook-aiブラウザ自動化31 週間前に更新

browser-agent について

Runbook AI MCP Server は、ブラウザー拡張機能を介して、ターミナルベースのエージェントが実際の Chrome セッションでウェブサイトを操作できるようにします。ページ内容を簡潔化し、生成ファイルは結果に埋め込まずディスクに保存します。

主な機能

  1. 01実際の Chrome セッションでサイトを自動操作
  2. 02エージェントのコンテキスト向けにページ内容を簡潔化
  3. 03複数ページの移動と操作
  4. 04ダウンロードや生成ファイルをディスクに保存
  5. 05トークンによる拡張機能アクセス制限

活用シーン

  1. 01専用 MCP サーバーのないサイトでタスクを自動化
  2. 02ページを移動してサイトの操作部品を扱う
  3. 03大量の取得結果をファイルに保存
  4. 04複数回の呼び出しでブラウザーワークフローを継続

MCP 対応

stdio の MCP サーバーは browser-agent ツールを 1 つ公開し、WebSocket 経由で Chrome 拡張機能にタスクを転送します。拡張機能がブラウザー操作を実行し、結果とファイルパスを MCP クライアントに返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"runbook-ai-browser-agent": {
"command": "npx",
"args": [
"-y",
"runbook-ai-mcp"
]
}
}
}
起動コマンドnpx -y runbook-ai-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmrunbook-ai-mcp1.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
effortenumいいえエージェントがどの程度探索するか(デフォルト:normal)。'quick':読み込み済みの内容を素早く一巡し、欠落している任意の詳細は "not specified" と報告します。反復の予算は少なめです。'thorough':すべてのページネーションをたどり、詳細ページを開き、候補を1つずつ確認します。反復の予算は多めです。どのレベルでも正確性のルールが適用されます。quick | normal | thorough
promptstringはいAI エージェントが実行するタスクのプロンプト
ephemeralbooleanいいえ一時的なブラウザーセッションで実行します(デフォルト:true)。タスクは新しい空白タブで開始され、前回の実行で残されたタブは表示できません。終了時には、開いたすべてのタブが閉じられます。false に設定すると、前回の呼び出しで残されたタブから続行し、最終ページを開いたままにします。
maxIterationsnumberいいえAI エージェントの最大反復回数(デフォルト:15)

詳細

Runbook AI MCP サーバー

Chrome 拡張機能を通じてブラウザー自動化機能を提供する MCP(Model Context Protocol)サーバーです。Claude Code のようなターミナルベースのエージェントが、現在のブラウザーセッションを使ってあらゆる Web サイトを操作できるようにします。

Runbook AI エコシステムの一部です。Discord コミュニティに参加して、フィードバックを寄せたり、開発に参加したりできます!

https://github.com/user-attachments/assets/a43fba64-bc40-4ef6-9840-e100203e2cf5

Runbook AI を選ぶ理由

ほとんどのブラウザーベースの MCP ツール(chrome-devtools-mcp など)は、ブラウザーで操作するたびに DOM 全体を送信するため、LLM のコンテキストウィンドウをすぐに使い切ってしまいます。

Runbook AI は異なります:

  • コンテキストの最適化: HTML を大幅に簡略化した形式に変換します。不要な部分を取り除きながら、重要なテキストや操作要素は保持します。コンパクトで高速なため、トークンを消費しません。
  • 究極の汎用性: 専用の MCP サーバーがないサイト(Expedia、LinkedIn、社内ツールなど)にも、最適な方法で対応します。
  • プライバシーを最優先: すべてブラウザー内で動作します。選択した LLM プロバイダー以外へのリモート呼び出しはありません。eval() や不審なスクリプトも使用しません(Chrome 拡張機能のサンドボックスによって制限されています)。
  • 効率的なナビゲーション: 簡略化された HTML はビューポートの範囲を超えて扱えるため、スクロールや複数ページにわたるタスクをより効率的に実行できます。

インストール

MCP サーバー

MCP 設定に追加します:

{
  "mcpServers": {
    "runbook-ai": {
      "command": "npx",
      "args": ["-y", "runbook-ai-mcp@latest"]
    }
  }
}
Chrome 拡張機能

Chrome ウェブストアから Runbook AI 拡張機能をインストールします。

拡張機能のサイドパネルから設定を開き、拡張機能の設定で MCP を有効にします。

LLM API キー、モデル名、ベース URL を設定します。Gemini 3 Flash(gemini-3-flash-preview)の使用を推奨します。Google AI Studio から無料の API キーを取得できます。

MCP トークン(推奨)

トークンを設定しない場合、localhost:9003 への WebSocket 接続を開けるプログラムであれば、どれでもブラウザーを操作できます。アクセスを制限するには、拡張機能の設定を開き、MCP token の横にある Generate をクリックして保存します。以降、拡張機能は同じトークンを含むリクエストのみを実行します。

--token を使って、MCP サーバーにトークンを渡します:

{
  "mcpServers": {
    "runbook-ai": {
      "command": "npx",
      "args": ["-y", "runbook-ai-mcp@latest", "--token", "<your token>"]
    }
  }
}

または、Claude Code の場合(設定の Copy setup command をクリックすると、この行がコピーされます):

claude mcp add runbook-ai -- npx -y runbook-ai-mcp@latest --token <your token>

--token が指定されていない場合、サーバーは RUNBOOK_AI_MCP_TOKEN も読み込みます。コマンドライン引数は ps で他のユーザーから見えるため、共有マシンではこちらの使用を推奨します。トークンがない、または誤っているリクエストには、Error: invalid-mcp-token: ... が返されます。拡張機能の設定でトークンを空にすると、このチェックは無効になります。

デフォルトでは、拡張機能はすべての Web サイトにアクセスできます。アクセスを制限するには、Chrome 拡張機能の詳細を開き、サイトへのアクセス設定に個々のサイトを追加してください。

使用方法

Chrome を開き、拡張機能のサイドパネルを開いたままにします。

MCP サーバーを起動します(MCP クライアントから呼び出すと自動的に起動します)。

ツールスキーマ

サーバーが公開するツールは 1 つです:

browser-agent

AI と自動化機能を使って、Chrome ブラウザーでタスクを実行します。

パラメーター:

  • prompt(文字列、必須):AI エージェントが実行するタスクのプロンプト
  • maxIterations(数値、任意):タスクにおけるエージェントの最大反復回数(デフォルト:15)。各反復はエージェントのアクション(移動、クリック、入力など)1 回です。複数ページにわたる長いタスクでは、この値を大きくしてください。トークンの予算もこの値に応じて増加します。
  • ephemeral(ブール値、任意、デフォルトは true):各呼び出しは分離されたブラウザーセッションで実行されます。新しい空白のタブで開始し、以前の呼び出しで開いたタブは表示されず、完了時に開いたすべてのタブが閉じられます。前回の呼び出しのタブから続けて作業し、最後のページを開いたままにするには、false を指定します(同じページを使って複数回の呼び出しで進めるワークフローなど)。
  • effort(文字列、任意、デフォルトは normal):エージェントがどの程度調査を行うかを指定します。quick(読み込み済みのコンテンツをすばやく一度確認し、見つからない任意の詳細は「指定なし」として報告します。反復回数の上限も低くなります)、normal(依頼内容に応じた調査を行います)、thorough(すべてのページネーションをたどり、詳細ページを開き、候補を 1 件ずつ確認します。反復回数の上限も高くなります)のいずれかを指定します。どのレベルでも正確性のルールが適用されます。
  • outputDir(文字列、任意):エージェントが生成したファイルを書き込む、MCP サーバーを実行しているマシン上のディレクトリです(存在しない場合は作成され、同名のファイルは上書きされます)。デフォルトでは、$RUNBOOK_AI_FILES_DIR が設定されていればその下に、設定されていなければ OS の一時ディレクトリに、呼び出しごとの新しいディレクトリ runbook-ai-mcp/task-<timestamp>-<id> が作成されます。

ファイル: 実行中にエージェントが保存したもの(スクレイピングしたリストや saveToFile で取得した API ペイロードなどのファイルに書き込んだデータ、ダウンロード、抽出したデータセット、スクリーンショットなど)はディスクに書き込まれ、結果テキストの末尾に絶対パス、MIME タイプ、サイズとともに一覧表示されます。ファイルの内容が結果に直接埋め込まれることはないため、大量のデータでコンテキストが圧迫されることはありません。ファイルはご自身のツールで読み取ってください。画像ファイル(4 MB 以下)は MCP のインライン画像コンテンツとしても返されるため、スクリーンショットを直接確認できます。

大量のデータをファイルとして取得するには、プロンプトでその旨を指定します。例:"... collect all orders from the account page and save them to orders.json"。

例:

{
  "name": "browser-agent",
  "arguments": {
    "prompt": "Go to google.com and search for 'MCP protocol'"
  }
}

開発

# Install dependencies
npm install

# Build
npm run build

# Run in development mode
npm run dev

# Run tests
npm test

アーキテクチャ

  1. MCP サーバー:stdio 経由で MCP クライアントと通信します
  2. WebSocket サーバー:ポート 9003 で Chrome 拡張機能からの接続を待ち受けます
  3. Chrome 拡張機能:ブラウザー自動化タスクを実行します

ツールが呼び出されると、次の処理が行われます。

  1. MCP クライアントが stdio 経由で MCP サーバーにリクエストを送信します
  2. MCP サーバーが WebSocket 経由で Chrome 拡張機能にリクエストを転送します
  3. 拡張機能がタスクを実行し、結果を返します
  4. 結果が MCP クライアントに返されます。エージェントが生成したファイルはディスクに書き込まれ(outputDir)、そのパスが結果に追加されます

コントリビューション

コントリビューションを歓迎します!お気軽に PR を送ってください。

コメント

MCP は初めてですか?

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

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