InBrowserMCP Project について
InBrowserMCP Project は、React フロントエンドと Node.js MCP サーバーを介し、Chrome 拡張機能で AI モデルとブラウザーを接続します。画面と拡張機能の間でブラウザー操作と結果をやり取りするプロジェクト向けです。
主な機能
- 01コマンドとブラウザー状態を表示する React UI
- 02Node.js MCP サーバー
- 03WebSocket 接続の Chrome 拡張機能
- 04ブラウザーの移動、クリック、入力
- 05SSE によるページ結果の返却
活用シーン
- 01フロントエンドからブラウザーコマンドを送信
- 02ページを移動して画面上の要素を操作
- 03拡張機能経由でページ内容を取得
MCP 対応
MCP サーバーはコマンドを MCP ツール呼び出しに変換し、WebSocket 経由で Chrome 拡張機能にブラウザー操作を送ります。拡張機能から結果を受け取り、SSE 経由でフロントエンドに更新を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
InBrowserMCP プロジェクト
このプロジェクトは、ブラウザー拡張機能を介して AI モデルがウェブブラウザーとやり取りできる、Model Context Protocol(MCP)に基づくシステムを実装しています。
概要
このプロジェクトは、主に次の 3 つの要素で構成されています。
- フロントエンド(
frontend/):AI とやり取りし、ブラウザーの状態を表示するユーザーインターフェースを提供する、React ベースのウェブアプリケーションです。MCP サーバーと通信します。 - MCP サーバー(
mcp-server/):MCP 仕様を実装する Node.js バックエンドサーバーです。フロントエンド、AI モデル(暗黙的に想定)、ブラウザー拡張機能間の通信を調整します。 - ブラウザー拡張機能(
extension/):WebSocket を介して MCP サーバーに接続し、サーバーから受信したコマンドに基づいてブラウザー操作(移動、クリック、入力、コンテンツの取得など)を実行する Chrome 拡張機能です。
アーキテクチャ
+-----------------+ +-----------------+ +---------------------+
| Frontend (React)| <--> | MCP Server (Node)| <--> | Browser Extension |
| (localhost:5173)| | (localhost:3000) | | (via WebSocket 8081)|
+-----------------+ +-----------------+ +---------------------+
| ^
| User Interaction | AI Model Interaction (Conceptual)
v |
+-----------------+ +-----------------+
| User's Browser | | AI Model |
+-----------------+ +-----------------+
- フロントエンドは、ユーザーコマンド(または AI からの指示)をMCP サーバーに送信します。
- MCP サーバーはこれらのコマンドを解釈し、必要に応じて AI モデルとやり取りし(ここでは明示的に実装されていませんが、想定されています)、操作を MCP ツール呼び出しに変換します。
- MCP サーバーは、WebSocket を介してブラウザー拡張機能にブラウザー操作コマンドを送信します。
- ブラウザー拡張機能は、ユーザーのブラウザー内でこれらの操作を実行します(移動、クリック、コンテンツのスクレイピングなど)。
- ブラウザー拡張機能は、結果(ページスナップショットやコマンドの実行結果など)をMCP サーバーに返します。
- MCP サーバーは結果を処理し、Server-Sent Events(SSE)を介して更新または最終応答をフロントエンドにストリーミングします。
はじめに
各コンポーネントの README ファイルに記載されている手順に従ってください。
- フロントエンド README
- MCP サーバー README
- ブラウザー拡張機能 README(作成予定、または手順がここに追加される予定です)
一般的なワークフロー
- MCP サーバーを起動します(
cd mcp-server && pnpm dev)。 - Chrome でブラウザー拡張機能を読み込みます(
chrome://extensions/)。 - フロントエンドを起動します(
cd frontend && pnpm dev)。 - ブラウザーでフロントエンドアプリケーションを開きます(通常は
http://localhost:5173)。 - フロントエンドがサーバーとの MCP セッションを初期化し、サーバーが拡張機能に接続します。
- フロントエンドを操作して、拡張機能を介してブラウザーを制御するコマンドを送信します。
コントリビューション
(該当する場合はコントリビューションガイドラインを追加してください)
ライセンス
(プロジェクトのライセンスを指定してください。例:MIT)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。