MCP Browser について
MCP Browserは、Playwrightを使ったヘッドレスブラウザーの操作・自動化インターフェースです。Web UI、WebSocketによる更新、ブラウザーイベントの購読機能をAIエージェント向けに備えています。
主な機能
- 01Playwrightによるヘッドレスブラウザー自動化
- 02ブラウザー操作用Web UI
- 03WebSocketによるリアルタイム更新
- 04ページ、DOM、コンソール、ネットワークイベントの購読
活用シーン
- 01ヘッドレスブラウザーでのタスク自動化
- 02ナビゲーション、DOM、コンソール、ネットワークの監視
- 03WebSocket経由でのブラウザーイベント受信
MCP 対応
MCP BrowserはAIエージェント向けにMCPと連携し、ブラウザーとMCPクライアントの状態を提供します。サービスを通じてブラウザー操作とイベント購読機能を公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Browser
Model Control Protocol(MCP)向けのヘッドレスブラウザーインターフェースです。
機能
- Playwright を使用したヘッドレスブラウザーの自動化
- ブラウザー操作用の Web UI
- リアルタイム更新のための WebSocket 通信
- リアルタイムのブラウザーイベントサブスクリプションシステム
- AI エージェント向けの MCP 連携
前提条件
- Python 3.13+
- 依存関係の管理に使用する uv
- Docker(コンテナーで使用する場合)
インストール
ワンラインインストール
1 つのコマンドで Mac に MCP Browser をインストールするには:
curl -sSL https://raw.githubusercontent.com/neoforge-dev/mcp-browser/main/install_one_line.sh | bash
このコマンドは、一般的な問題を避けるために適切な改行コード処理を行いながら、インストーラーをダウンロードして実行します。
手動インストール
手動でインストールするには:
- このリポジトリをクローンします
- インストーラースクリプトを実行します:
git clone https://github.com/neoforge-dev/mcp-browser.git
cd mcp-browser
./install.sh
XQuartz の要件
MCP Browser を適切に表示するには、XQuartz(X11)が必要です。インストーラーは次の処理を行います:
- XQuartz がすでにインストールされているか確認し、必要に応じてインストールします
- さまざまな方法で X11 サーバーの起動を試みます
- 自動起動に失敗した場合は、手動での起動を促します
問題が発生した場合は、XQuartz の問題のトラブルシューティングのセクションを参照してください。
ローカル開発
uv を使ったセットアップ
# Clone the repository
git clone https://github.com/yourusername/mcp-browser.git
cd mcp-browser
# Install dependencies
uv venv .venv
source .venv/bin/activate
uv pip install -e .
# Install Playwright browsers
python -m playwright install
ローカルでの実行
Xvfb を使わずに簡単なテストを行う場合:
./simple_test.sh
Xvfb を使って完全なテストを行う場合(X11 が必要です):
./test_local.sh
Docker でのデプロイ
Docker Compose を使ってビルドして実行します:
# Set your MCP secret
export MCP_SECRET=your_secret_key
# Build and run
docker-compose up --build
または、付属のスクリプトを使用します:
./run.sh
設定
次の環境変数を設定できます:
MCP_SECRET:MCP 認証用のシークレットキーSERVER_PORT:サーバーを実行するポート(デフォルト:7665)PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD:1 に設定すると、ブラウザーのダウンロードをスキップし、ヘッドレス専用モードで実行します
API エンドポイント
GET /:Web UIGET /api/status:ブラウザーと MCP クライアントのステータスを取得しますWebSocket /ws:リアルタイム通信向けの WebSocket エンドポイントWebSocket /ws/browser/events:ブラウザーイベントサブスクリプション向けの WebSocket エンドポイントGET /api/browser/subscribe:ブラウザーイベントをサブスクライブしますGET /api/browser/unsubscribe:ブラウザーイベントのサブスクリプションを解除しますGET /api/browser/subscriptions:有効なイベントサブスクリプションの一覧を取得します
イベントサブスクリプション
MCP Browser は、WebSocket 経由のリアルタイムイベントサブスクリプションに対応しています。これにより、クライアントはブラウザーイベントの発生時にイベントを受信できます。対象となるイベントは次のとおりです:
- ページイベント(ナビゲーション、読み込み、エラー)
- DOM イベント(変更、更新)
- コンソールイベント(ログ、警告、エラー)
- ネットワークイベント(リクエスト、レスポンス、エラー)
イベントサブスクリプションシステムの詳細なドキュメントと例については、次を参照してください:
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。