Browser JavaScript Evaluator について
Browser JavaScript Evaluator は、ブラウザーで JavaScript を実行する Python 製 MCP サーバーです。SSE でブラウザーに接続し、REST API を介してコードと結果をサーバーとページ間で受け渡します。
主な機能
- 01ブラウザーで任意の JavaScript を実行
- 02SSE によるブラウザー接続
- 03REST API による実行要求の転送
- 04ブラウザー上の加算ツール
活用シーン
- 01MCP クライアントからブラウザー JavaScript を実行
- 02ページで実行したスクリプトの結果を取得
MCP 対応
MCP サーバーは JavaScript 実行ツールを提供し、REST API を通じてコードを SSE 接続されたブラウザーに送ります。任意の JavaScript を実行できるため、セキュリティ上のリスクがあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ブラウザー JavaScript 評価ツール
このプロジェクトでは、MCP(Model Control Protocol)を使用して、Python からブラウザー内で JavaScript コードを実行できます。
⚠️ 警告 ⚠️
この MCP サーバーは、ブラウザー内で任意の JavaScript を実行できます。危険を伴う可能性があります。このプラグインを使用する前に、影響を十分に理解してください。ご自身の責任でご使用ください。
アーキテクチャ
このプロジェクトは、主に 2 つのコンポーネントに分かれています。
-
Web サーバー(
web_server.py):- Server-Sent Events(SSE)を介してブラウザー接続を処理します
- JavaScript を実行するための REST API エンドポイントを提供します
- 結果を同期的に返します
-
MCP サーバー(
mcp_server.py):- Web サーバーのライフサイクルを管理します
- JavaScript を実行するための MCP ツールを提供します
- REST API 呼び出しを介して Web サーバーと通信します
仕組み
- MCP サーバーは、ライフサイクルの初期化時に Web サーバーを起動します
- ブラウザーが SSE を介して Web サーバーに接続します
- MCP ツールが呼び出されると、Web サーバーに REST API 呼び出しを行います
- Web サーバーは SSE を介して JavaScript コードをブラウザーに送信します
- ブラウザーはコードを実行し、結果を Web サーバーに返します
- Web サーバーは結果を MCP サーバーに返します
- MCP サーバーは呼び出し元に結果を返します
使用方法
Claude の設定に MCP サーバーを追加する
...
"browser-js-evaluator": {
"command": "uv",
"args": [
"--directory",
"/path/to/this/repo/mcp_py_sse_browser_control",
"run",
"browser_server.py"
]
}
}
...
Claude Desktop を起動すると、MCP サーバーと Web サーバーの両方が起動します。その後、ブラウザーを開いて http://127.0.0.1:8000 にアクセスし、Web サーバーに接続します。
MCP ツールの使用
MCP サーバーは 2 つのツールを提供します。
execute_javascript:ブラウザー内で任意の JavaScript コードを実行しますadd_numbers:ブラウザー内で JavaScript を使用して 2 つの数値を加算します
これらのツールは、任意の MCP クライアントから呼び出せます。
開発
テストのために Web サーバーを単独で実行するには、次のようにします。
python web_server.py
これにより、MCP との統合なしで Web サーバーのみが起動します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。