mcpField
J
Jet Browser Verifier

Jet Browser Verifier

ローカル
masaka-ai.vercel.app開発ツール22 週間前に更新

Jet Browser Verifier について

Jet Browser Verifierは、固定された隔離型WPE WebKitランタイムを検証するローカルMCPサーバーです。汎用ブラウジングではなくランタイム検証向けで、ネイティブ入力、DOM確認、PNGスクリーンショットの証拠を返します。

主な機能

  1. 01時間制限付きブラウザー検証
  2. 02ネイティブ入力による文字入力
  3. 03期待されるDOM状態の確認
  4. 04最新のPNGスクリーンショット取得
  5. 05起動とネットワークの証拠を返却
  6. 06隔離コンテナのクリーンアップ

活用シーン

  1. 01ローカルでのWPE WebKitランタイム検証
  2. 02ネイティブ文字入力とページ状態の確認
  3. 03テスト用スクリーンショット証拠の取得

MCP 対応

stdio経由でMCPクライアントに `jet_browser_capabilities` と `jet_browser_verify` を提供します。検証時はブラウザネットワークを無効にした隔離Dockerランタイムを起動します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"masakaai-jet-browser": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/masakaai/jet-browser-mcp:0.9.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/masakaai/jet-browser-mcp:0.9.0

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

パッケージ
ocighcr.io/masakaai/jet-browser-mcp:0.9.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Jet Browser MCP 検証ツール

このローカルの stdio サーバーは、MCP クライアントに Jet Browser を検証するための限定的な手段を提供します。マルチプラットフォーム対応パッケージは、ネイティブの linux/amd64 または linux/arm64 イメージを選択し、ブラウザーのネットワーク接続を無効にして、イメージ内のローカルフィクスチャを開き、ネイティブ入力で文字を入力し、DOM を確認して、新しい PNG をキャプチャし、後片付けを行います。

これは実行時の検証ツールであり、汎用のブラウジングサーバーではありません。パブリックウェブへのナビゲーション、CDP、個人用ブラウザープロファイル、認証情報、ホステッドサービス、テレメトリーは公開しません。

要件

  • Node.js 24+
  • Docker
  • x86_64 または ARM64 の Linux ホスト

最初の検証時には、GHCR からパブリックイメージをプルする場合があります。ブラウザーの実行には、Docker の --network=none 境界を使用します。イメージは server.mjs 内でダイジェストにより固定されています。

OCI パッケージからインストールする

バージョン指定された MCP イメージは、stdio サーバーを直接起動します。Docker ソケットが必要になるのは、jet_browser_verify が個別に隔離された WPE WebKit ランタイムを起動するときだけです。

{
  "mcpServers": {
    "jet-browser": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--network=none",
        "--mount", "type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock",
        "ghcr.io/masakaai/jet-browser-mcp:0.9.0"
      ]
    }
  }
}

Docker ソケットを使うと、ホストレベルの制御が可能になります。このローカルサーバーは、信頼できる MCP クライアントに対してのみ設定してください。外側の MCP コンテナではネットワークが無効になっており、起動するブラウザーコンテナも独立して --network=none、リソース制限、ケイパビリティの削減、確実な後片付けを適用します。

公式 MCP Registry 用のパッケージメタデータは server.json です。OCI イメージには、一致する io.modelcontextprotocol.server.name 所有権アノテーションが含まれています。

ソースからインストールする

git clone https://github.com/masakaai/jet-browser.git
cd jet-browser
npm ci

絶対パスでチェックアウト先を指定して、サーバーを MCP クライアントに追加します。

{
  "mcpServers": {
    "jet-browser": {
      "command": "node",
      "args": ["/absolute/path/to/jet-browser/integrations/mcp/server.mjs"]
    }
  }
}

プロセスは stdout で MCP を使用し、運用上のエラーのみを stderr に書き込みます。クライアントが stdin を閉じると終了します。

ツール

ツール動作
jet_browser_capabilitiesDocker を起動せずに、固定されたイメージ、プラットフォーム、エビデンスの仕様、明示的に対応していない機能を返します。
jet_browser_verify1 回の制限付き検証を実行し、起動、ネイティブ入力、DOM、スクリーンショット、ネットワーク、イメージのエビデンスを返します。

一度に実行できる検証は 1 件のみです。クライアント側でキャンセルすると、子プロセスが中断されます。サーバーは子プロセスの出力と実行時間の上限を設定しています。失敗はプロトコルエラーではなく、MCP ツールエラーとして返されます。

成功時には、次のような構造化コンテンツが返されます。

{
  "status": "passed",
  "network": "disabled",
  "title": "Jet Browser Ready",
  "input": "open-source runtime",
  "screenshotBytes": 2048,
  "image": "ghcr.io/masakaai/jet-browser@sha256:5884204e128a3e5bb17634078affdf28d1933d2745752cee3bc74235ed316cec"
}

スクリーンショットのバイト数は変動します。合格には、デコードされた PNG が 1,000 バイト以上であることに加え、期待されるページタイトル、ネイティブのテキスト入力、DOM の状態が完全に一致する必要があります。

インテグレーションを検証する

プロトコルテストでは、実際の stdio サーバーを起動し、MCP ハンドシェイクを実行してツール一覧を取得したうえで、Docker を必要とせずにケイパビリティツールを呼び出します。

node --test test/mcp-server.test.mjs

リポジトリのスタンドアロン CI は、引き続きエンドツーエンドのランタイム検証として機能します。同じ Docker の受け入れテストをローカルで実行するには、次のコマンドを使います。

JET_BROWSER_IMAGE=ghcr.io/masakaai/jet-browser@sha256:5884204e128a3e5bb17634078affdf28d1933d2745752cee3bc74235ed316cec \
npm run standalone:smoke

セキュリティ境界

  • MCP 呼び出しでは、コマンド、URL、イメージ、プロファイル、パスの引数を受け付けません。
  • 子プロセスには、必要な Docker 接続用の環境変数のみが渡されます。アプリケーションのシークレットは転送されません。
  • コンテナではブラウザーのネットワーク接続が無効になっており、CPU、メモリ、PID、共有メモリ、ケイパビリティに上限が設定されています。また、チェック後に削除されます。
  • 検証ツールが、実行中の個人用ブラウザーに接続することはありません。
  • Docker へのアクセスは、ホストへの特権アクセスとして扱ってください。このサーバーは、信頼できるローカルの MCP クライアントに対してのみ設定してください。

より広範な組み込み境界が必要な場合は、Jet Browser のバージョン指定されたツール宣言である sdk/tools.mjs を使用し、独自のハーネスから各隔離コンテナを管理してください。

コメント

MCP は初めてですか?

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

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