mcpField
R
Real Browser MCP

Real Browser MCP

ローカル
github.com/ofershapブラウザ自動化582 日前に更新

Real Browser MCP について

real-browser-mcp は、ローカルの MCP サーバーと Chrome 拡張機能を組み合わせ、AI コーディングエージェントが普段使っている Chrome を操作できるようにするツールです。Cookie、SSO のセッション、開いているタブをそのまま利用できます。通信は localhost 内に限られます。

主な機能

  1. 01ログイン済みの Chrome タブを操作
  2. 02要素参照付きのアクセシビリティツリー取得
  3. 03クリック、入力、スクロールなど 18 のツール
  4. 04コンソールとネットワークリクエストの確認
  5. 05localhost の WebSocket による接続

活用シーン

  1. 01ステージング環境で修正内容を検証する
  2. 02ログイン後にだけ発生する不具合を再現する
  3. 03既存のセッションでページのテキストや失敗したリクエストを確認する

設定

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

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

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

パッケージ
npmreal-browser-mcp1.2.1

ツール

22

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

パラメーター型必須説明
urlstringはい移動先の URL
waitUntilenumいいえナビゲーションが完了したと判断するタイミングload | domcontentloaded

詳細

Real Browser MCP

real-browser-mcp

エージェント型ブラウザーは、エージェントに新しいブラウザーを与えます。コーディングエージェントに必要なのは、あなたのブラウザーです。

すでに開いている Chrome 向けの MCP + Chrome 拡張機能:
Cookie、SSO、ステージング環境のセッション、すでに再現したバグに対応します。

Chrome 拡張機能   MCP サーバー   Cursor に追加   エージェントルール

CI npm バージョン npm ダウンロード数 ライセンス:MIT エージェントプラグイン TypeScript

デモ


誰もが「エージェント型ブラウザー」を構築しています。その多くは、エージェントに新しいブラウザーを渡します。ヘッドレス Chromium、クラウド VM、Cookie のないクリーンなプロファイルなどです。

それはコーディングの反復作業に適したツールではありません。

修正を反映すると、エージェントは「完了しました。確認してください」と言います。 あなたはすでに Chrome でステージング環境を開き、SSO を済ませ、問題が起きるまさにそのページを表示しています。 エージェントはコードを書きました。そこで動作を確認できます。ただ、そのブラウザーを見ることができません。

real-browser-mcp はその橋渡しをします。ローカル MCP サーバーと Chrome 拡張機能を localhost WebSocket 経由で接続します。エージェントは MCP を介して通信し、実際の Chrome が実行します。セッションはあなたのマシン内にとどまります。

これは、新しいプロファイルを使う Playwright ではありません。ホスト型エージェントブラウザーでもありません。セキュリティ上の正当な理由から Chrome 136 以降でブロックされた、デフォルトの Chrome プロファイルへの CDP リモートデバッグ機能を継ぎ足したものでもありません。

Real Browser MCP


クイックスタート

構成要素は 2 つです。

  • MCP サーバー - マシン上で動作し、AI エージェント(Cursor、Claude Code、VS Code など)と通信します
  • Chrome 拡張機能 - 実際の Chrome 内で動作し、ツールを実行します
1. MCP サーバーを追加する

Cursor(ワンクリック):

Cursor にインストール

または、Cursor の Settings > MCP > 「Add new MCP server」で手動で追加します。

{
  "mcpServers": {
    "real-browser": {
      "command": "npx",
      "args": ["-y", "real-browser-mcp"]
    }
  }
}
Claude Desktop、Windsurf、その他の MCP クライアント

Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。同じ JSON ブロックを追加してください。

Windsurf: Settings > MCP。同じ設定を使用します。

MCP 互換のクライアントであれば、どれでも動作します。

2. Chrome 拡張機能をインストールする

Chrome ウェブストアで入手可能

または、ソースから読み込む:

git clone https://github.com/ofershap/real-browser-mcp.git
  1. chrome://extensions を開き、Developer mode(右上の切り替え)を有効にします
  2. Load unpacked をクリックし、クローンしたリポジトリの extension/ フォルダーを選択します

ツールバーにある Real Browser MCP アイコンをクリックします。

緑の点は接続済み、灰色はサーバーの起動待ちです。

これで完了です。エージェントがブラウザーを認識できるようになります。


エージェントプラグイン

このリポジトリは Agent Plugins の 1.0.0 パッケージとして提供されます。ルートの plugin.json、mcp.json、skills/real-browser-control/ により、ヘッドレス/クラウドのエージェント型ブラウザーではなく、実際の Chrome をいつ選ぶべきかをエージェントに伝えます。

Claude Code の .claude-plugin/ と agent-config/ は、ルールやマーケットプレイスのフロー向けに引き続き使用します。Agent Plugins は、MCP とスキルをひとつのツリーにまとめた、複数のクライアントで共通のレイアウトです。

Cursor(ローカルプラグイン): リポジトリをクローンし、~/.cursor/plugins/local/real-browser-mcp にコピーまたはシンボリックリンクしてから、ウィンドウを再読み込みします。Chrome 拡張機能も接続する必要があります。以下のワンクリック MCP インストールで追加されるのはサーバーのみです。ローカルプラグインフォルダーもインストールしてください。

仕様とツール: agent-plugins.org。


これが必要な理由(エージェント型ブラウザーのギャップ)

スタックエージェントが利用できるものコーディングエージェントで問題となる点
Playwright MCP / Puppeteer新しいブラウザー、クリーンな状態SSO Cookie がなく、「すでに開いているタブ」も使えません
クラウドのエージェント型ブラウザーリモートブラウザー/VMログインが別になり、IDE 内の Chrome ではありません
Chrome DevTools MCP(CDP / autoConnect)DevTools 向けの接続Chrome 136 以降では、デフォルトプロファイルで --remote-debugging-port が拒否されるため、一時的なプロファイルなしでは、日常的にログインして使っている Chrome への接続が困難です
Real Browser MCPMV3 拡張機能 + localhost MCP を通じたあなたの ChromeCI の並列クリーン実行には適していません(その場合は Playwright を使用してください)

CI で再現可能な自動化を行う場合は、Playwright を使用してください。すでに認証済みのブラウザー内でエージェントを動かす場合は、こちらを使用してください。


他の選択肢との比較

Real Browser MCPPlaywright MCPChrome DevTools MCPクラウドのエージェント型ブラウザー
ブラウザー実際に使っている Chrome新しい Chromium を起動(通常)CDP 経由で接続ホスト型/リモート
Cookie/SSO の状態はいいいえ(注入または再生が必要)Chrome 136 以降、デフォルトプロファイルでは不安定別のセッション
接続モデル拡張機能 ↔ localhost WebSocketPlaywright ドライバーリモートデバッグ/autoConnectベンダーのクラウド
最適な用途IDE 内でのライブ検証CI + 再現可能な実行パフォーマンス/DevTools デバッグ無人のリモートブラウジング
マシンの外にデータが出るかいいえ制御プレーンなしローカルはい

🧠 エージェントに使い方を教える

エージェントは最初から18個すべてのツールを使えますが、ツールを_いつ_、_どのように_組み合わせるかを知っていると、より効果的に動作します。設定ファイルで適切なワークフローを教えます。まずスナップショットを取得し、次に操作して、最後に確認します。

コマンドを1つ実行します。

npx real-browser-mcp --setup cursor

次のファイルがインストールされます。

  • ~/.cursor/rules/real-browser-mcp.mdc - スナップショットを先に取得するワークフロー、ドロップダウンの操作方法、スクリーンショットとスナップショットを使い分けるタイミングを教えます
  • ~/.cursor/commands/check-browser.md - Cursor のチャットに /check-browser を追加します

その後、任意のチャットで /check-browser と入力します。または、「ブラウザーで結果を確認して」と伝えるだけで、エージェントが適切に対応します。

Claude Code のセットアップ
npx real-browser-mcp --setup claude

プロジェクトのルートに AGENTS.md を追加します。Claude Code はこれを自動的に検出します。

手動でインストールする場合やルールをカスタマイズする場合は、agent-config/ を参照してください。


できること

目的別にまとめた18個のツールです。

確認

ツール機能
browser_snapshot要素参照を含むアクセシビリティツリーです。コンパクトモード(デフォルト)では、操作可能な要素のみを返します
browser_screenshot画面をキャプチャします
browser_textページまたは要素からプレーンテキストを抽出します
browser_findCSS セレクターで要素を検索します

操作

ツール機能
browser_click要素参照または CSS セレクターでクリックします
browser_click_text表示テキストを指定してクリックします。React ポータルやオーバーレイにも対応します
browser_type入力フィールドや contenteditable フィールドに入力します
browser_press_keyキーの組み合わせを実行します(Enter、Escape、Ctrl+A)
browser_scrollページや仮想コンテナーをスクロールします
browser_hoverツールチップやドロップダウンを表示します
browser_selectネイティブの <select> ドロップダウンから項目を選択します
browser_wait要素が表示または非表示になるまで待機します

移動

ツール機能
browser_navigateアクティブなタブで URL に移動します
browser_tabsタブの一覧表示、作成、終了、またはフォーカスを行います

デバッグ

ツール機能
browser_consoleコンソール出力(log、warn、error)を取得します
browser_networkステータスコード付きで XHR/fetch リクエストを取得します
browser_evaluateChrome DevTools Protocol 経由で JavaScript を実行します
browser_handle_dialogalert/confirm/prompt ダイアログを処理します

設定

環境変数デフォルト機能
WS_PORT7225拡張機能との接続に使う WebSocket ポート

接続の切断には、指数バックオフ(1秒から30秒)、10秒ごとの ping/pong ヘルスチェック、ツールごとのタイムアウト(クリックは5秒、ページ移動は60秒)によって自動的に対処します。

複数の Chrome プロファイル

異なるポートで2つのサーバーインスタンスを起動します。

{
  "mcpServers": {
    "browser-work": {
      "command": "npx", "args": ["-y", "real-browser-mcp"]
    },
    "browser-personal": {
      "command": "npx", "args": ["-y", "real-browser-mcp"],
      "env": { "WS_PORT": "9333" }
    }
  }
}

各拡張機能のポップアップで、対応するポートに更新します。


アーキテクチャ

すべての処理はお使いのマシン上で完結します。拡張機能は localhost 上の WebSocket 経由で MCP サーバーに接続します。クラウドもプロキシも使用せず、ブラウザーの外にデータが送信されることもありません。

real-browser-mcp/
├── mcp-server/          MCP server (npm package, TypeScript)
│   └── src/tools/       One file per tool, registry pattern
├── extension/           Chrome extension (Manifest V3, plain JS)
│   ├── background.js    Service worker, WebSocket client, tool handlers
│   ├── content.js       Console capture
│   └── popup/           Connection status UI
├── agent-config/        Pre-built configs for Cursor + Claude Code
│   ├── cursor/          Rules and commands
│   ├── skills/          Browser automation skill
│   └── setup.mjs        One-command installer
└── tests/               Bridge + registry tests

技術スタック: TypeScript(strict)· MCP SDK · WebSocket · Chrome Extension Manifest V3 · Vitest

開発
git clone https://github.com/ofershap/real-browser-mcp.git
cd real-browser-mcp
npm install
npm run build
npm test
コマンド機能
npm run buildTypeScript をコンパイルします
npm run devウォッチモードで実行します
npm testテストを実行します
npm run typecheck出力せずに型をチェックします
npm run setup:cursorCursor のルールとコマンドをインストールします

FAQ

これはエージェント型ブラウザーですか?

いいえ。一般にエージェント型ブラウザーとは、エージェントが新しいブラウザー(ローカルのヘッドレスブラウザーまたはクラウドブラウザー)を所有するものを指します。real-browser-mcp は MCP エージェントをお使いの既存の Chromeに接続します。同じプロファイル、同じタブ、同じログイン状態を使います。

Chrome 拡張機能は必要ですか?

はい。MCP サーバー単体では、Chrome を認識したり操作したりできません。Chrome 拡張機能をインストールしてポップアップを開き、接続状態が緑色になってからツールを呼び出してください。

既存のログイン情報や企業の SSO でも動作しますか?

はい。拡張機能は、Cookie、セッション、ローカルストレージがある通常の Chrome プロファイルで動作します。すでに設定済みのセッション(手動で完了した SSO を含む)を使って検証できることが、この仕組みの要点です。

Playwright MCP や browser-use とはどう違いますか?

これらのスタックは、自動化ツールが起動するブラウザーを前提として構築されています(CI やクリーンな状態からの繰り返し実行に最適です)。Real Browser MCP は、すでに開いているブラウザーを前提として構築されています。決定論的な実行が必要な場合は Playwright を使ってください。ライブのセッション状態が必要な場合は、こちらを使ってください。

Chrome DevTools MCP とはどう違いますか?

Chrome DevTools MCP は DevTools スタイルのデバッグに優れており、CDP / autoConnect 経由で接続できます。Chrome 136 以降、デフォルトのユーザープロファイルでのリモートデバッグは禁止されています。実際のログイン情報が保存されているのが、まさにこのプロファイルです。Real Browser MCP は、そのプロファイルでデバッグポートを開く代わりに、localhost WebSocket 経由の拡張機能ブリッジを使用します。

クラウド型のエージェントブラウザーを使わないのはなぜですか?

クラウドブラウザーはリモートマシンです。再認証が必要になり、ローカル IDE のワークフローから離れることになり、セッションデータは他者のインフラストラクチャ上に保存されます。このプロジェクトでは、MCP サーバー ↔ 拡張機能の通信を localhost に限定し、制御を手元に保ちます。ツールがページの内容を返すと、その内容は引き続き AI クライアントに渡されますが、その間にベンダーのブラウザー SaaS が介在することはありません。

Agent Plugins と MCP のみのインストールの違いは何ですか?

MCP のみ(Cursor のディープリンクまたは mcp.json)では、サーバーとツールが登録されます。Agent Plugins パッケージでは、plugin.json と real-browser-control スキルも追加されるため、エージェントはヘッドレスブラウザーより実際の Chrome を優先すべき状況を判断できます。どちらの場合も、同じ npm サーバーを使用します。

エージェントに実際のブラウザーの操作を許可しても安全ですか?

サーバーと拡張機能は localhost 上の WebSocket 経由でのみ通信します。クラウドのコントロールプレーンに情報が送信されることはありません。ただし、エージェントは接続中のタブに表示されている内容(ログイン済みのアプリを含む)をクリック、入力、読み取ることができます。信頼できないサイトをテストする場合は専用のプロファイルまたはタブを使い、そのリスクを許容できない場合は、機密データが表示されているタブを自動化の対象にしないでください。

データはどこかに送信されますか?

いいえ。MCP サーバーと拡張機能は localhost 上の WebSocket 経由で通信します。お使いのマシンからデータが外部に送信されることはありません。アナリティクス、テレメトリー、クラウドコンポーネントはありません。プライバシーポリシー。

どの AI クライアントで動作しますか?

MCP 互換のクライアントならどれでも使えます。Cursor、Claude Desktop、Claude Code、Windsurf、Cline など、MCP プロトコルに対応するあらゆるクライアントで動作します。

複数の Chrome プロファイルで使えますか?

はい。異なるポートで 2 つの MCP サーバーインスタンスを実行してください。設定方法については設定をご覧ください。


コントリビューション

バグ報告、機能リクエスト、プルリクエストを歓迎します。大きな変更の場合は、まず Issue を作成してください。

作者

ofershap による制作

LinkedIn GitHub


README Builder で作成した README

ライセンス

MIT © Ofer Shapira

コメント

MCP は初めてですか?

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

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