mcpField
V
Vuda (visual Ui Debug Agent)

Vuda (visual Ui Debug Agent)

リモート
github.com/samihalawaAI・エージェント8411 週間前に更新
リポジトリ

Vuda (visual Ui Debug Agent) について

Vuda は Playwright でウェブ UI を検査・テストする MCP サーバーで、MCP 対応の AI クライアント向けです。ローカルまたはリモートのブラウザーを使い、スクリーンショット、DOM 検査、ワークフロー検証、視覚比較を行えます。

主な機能

  1. 01ページ・要素のスクリーンショット
  2. 02DOM と計算済みスタイルの検査
  3. 03複数ステップの UI ワークフロー検証
  4. 04コンソールとパフォーマンスの監視
  5. 05画面状態の視覚比較
  6. 06サイトマップ巡回と API テスト

活用シーン

  1. 01ページレイアウトと操作要素の確認
  2. 02ユーザーフローの検証
  3. 03変更前後の表示結果の比較
  4. 04ブラウザーコンソールエラーの調査

MCP 対応

Vuda は stdio 経由で動作する MCP サーバーで、クライアントに 29 個のブラウザー検査・テストツールを提供します。スクリーンショット、ブラウザー状態、デバッグ用プロンプトも MCP リソースとして公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://github.com/samihalawa/visual-ui-debug-agent-mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
ocisamihalawa/visual-ui-debug-agent-mcp

ツール

詳細

VUDA — ビジュアル UI デバッグエージェント

ビルド状況 npm バージョン npm ダウンロード数 GitHub スター数 最終コミット ISC ライセンス

MCP 対応の AI クライアントに、実際のブラウザー、スクリーンショット、DOM 検査、ワークフロー検証、コンソール記録、API チェック、視覚的比較を提供します。
MCP ツール 29 個 · ローカル、Browserbase、Anchor、または任意の CDP ブラウザー · Node.js 20+

VUDA の機能

VUDA(Visual UI Debug Agent)は、Playwright を使用して Web インターフェースを検査・テストするためのModel Context Protocolサーバーです。MCP サーバーは標準入力/出力を介してローカルで動作し、ブラウザーはローカル、Browserbase、Anchor Browser、または既存の CDP エンドポイントで実行できます。すべてのツールで、選択した同じブラウザーランタイムを使用します。

  • ページ全体、ビューポート、要素、ローカルファイル、および複数のスクリーンショットを撮影します。
  • インタラクティブ要素を特定し、レンダリングされた DOM と計算済みスタイルを検査します。
  • ブラウザーの状態を維持しながら、複数ステップの UI ワークフローを実行します。
  • コンソール出力を監視し、ページのパフォーマンスを分析します。
  • 2 つのレンダリング状態を比較し、視覚的な差分を返します。
  • サイトマップをクロールし、API エンドポイントをテストします。
  • Playwright でサポートされているデバイスをエミュレートします。

VUDA の機能:スクリーンショット、ワークフロー、パフォーマンス、API テスト、視覚的比較

クイックスタート

1. VUDA を実行する
npx -y visual-ui-debug-agent-mcp

デフォルトの local モードには、Chromium 互換のブラウザーが必要です。まだ利用できない場合は、対応するブラウザーを一度インストールしてください。

npx playwright install chromium
2. MCP クライアントに追加する
{
  "mcpServers": {
    "vuda": {
      "command": "npx",
      "args": ["-y", "visual-ui-debug-agent-mcp"]
    }
  }
}

MCP 設定を変更した後は、クライアントを再起動してください。サーバーはプロトコルメッセージを標準出力に書き込み、診断情報を一時ログファイルに記録します。

ローカルモードではプロバイダーのアカウントは不要です。

Docker を使用する場合も、同じ stdio トランスポートを利用できます。

{
  "mcpServers": {
    "vuda": {
      "command": "docker",
      "args": ["run", "--interactive", "--rm", "ghcr.io/samihalawa/visual-ui-debug-agent-mcp:latest"]
    }
  }
}

Docker でファイル内のプロバイダー認証情報を使用するには、args 配列の "run" の直後に "--env-file", "/absolute/path/to/.env" を追加してください。

3. 試してみる

クライアントに次のように依頼してください。

Use VUDA to inspect https://example.com, capture a screenshot, list the
interactive elements, and report console errors and obvious layout issues.

ツールリファレンス

分析とキャプチャ
ツール目的
enhanced_page_analyzerスクリーンショット、コンソール、パフォーマンス、インタラクティブ要素の分析
screenshot_urlURL、ビューポート、ページ全体、または選択した要素をキャプチャ
batch_screenshot_urls複数の URL をキャプチャし、並べて確認
screenshot_local_filesローカル HTML ファイルをレンダリングしてキャプチャ
dom_inspector要素のプロパティ、子要素、計算済みスタイルを返す
visual_comparisonレンダリングされた 2 つのページまたは要素を比較
ワークフロー、診断、API
ツール用途
ui_workflow_validator説明されたユーザージャーニーを実行して検証します
navigation_flow_validator一連のブラウザー操作を検証します
console_monitor指定した時間にわたってブラウザーのコンソールメッセージを取得します
performance_analysisナビゲーションとページのパフォーマンス指標を収集します
api_endpoint_tester複数の HTTP エンドポイントをテストします
sitemap_crawlerサイトマップからページを検出して調査します
tunnel_helperリモートトンネルの URL とセットアップガイダンスを保存または取得します
debug_memory1 回のサーバーセッション中に短いデバッグメモを保持します
Playwright の直接操作

playwright_navigate、playwright_click、playwright_iframe_click、playwright_fill、playwright_select、playwright_hover、playwright_evaluate、playwright_console_logs、playwright_get_visible_text、playwright_get_visible_html、playwright_go_back、playwright_go_forward、playwright_press_key、playwright_drag、playwright_screenshot。

設定

VUDA は通常どおり環境変数を読み込み、作業ディレクトリの .env を自動的に読み込みます。ソースをチェックアウトして実行する場合は、.env.example をコピーしてください。npx でインストールする場合は、MCP プロセスの作業ディレクトリに .env を置くか、クライアント設定で変数を渡すか、DOTENV_CONFIG_PATH に絶対パスの .env を設定してください。

ブラウザーを選択する
モード必要な設定アカウントの状態
ローカル(デフォルト)VUDA_BROWSER_PROVIDER=localVUDA_STORAGE_STATE_PATH、Cookie JSON、または Cookie ファイル
BrowserbaseVUDA_BROWSER_PROVIDER=browserbase、BROWSERBASE_API_KEYBROWSERBASE_CONTEXT_ID を再利用するか、Cookie を注入します
Anchor BrowserVUDA_BROWSER_PROVIDER=anchor、ANCHOR_API_KEYVUDA_ANCHOR_SESSION_JSON の Anchor プロファイルを使用するか、Cookie を注入します
既存のブラウザーVUDA_BROWSER_PROVIDER=cdp、VUDA_CDP_URLそのブラウザーコンテキストを使用します。Cookie の注入は任意です

Browserbase の例:

VUDA_BROWSER_PROVIDER=browserbase
BROWSERBASE_API_KEY=your_api_key
BROWSERBASE_PROJECT_ID=your_project_id
BROWSERBASE_CONTEXT_ID=your_saved_context_id

永続的な認証済みプロファイルを使う Anchor Browser の例:

VUDA_BROWSER_PROVIDER=anchor
ANCHOR_API_KEY=your_api_key
VUDA_ANCHOR_SESSION_JSON={"browser":{"profile":{"name":"vuda","persist":true}}}

すべての 29 個のツールは、どのモードでも既存の名前と入力を維持します。MCP リソース browser://status を読み込み、選択されたプロバイダー、現在の接続状態、セッション ID、およびライブビューが利用可能かどうかを確認してください。CDP とライブビューの URL が返されることはありません。

Cookie またはローカル状態をインポートする

Cookie の注入はすべてのプロバイダーで機能します。Playwright の Cookie 配列をインラインまたはファイルで指定してください。

VUDA_COOKIES_FILE=/absolute/path/to/cookies.json
# VUDA_COOKIES_JSON=[{"name":"session","value":"...","domain":"example.com","path":"/"}]

ローカルモードでは、VUDA_STORAGE_STATE_PATH によって Playwright のストレージ状態ファイルが読み込まれます。VUDA の正常終了時に更新後の状態を書き戻すには、VUDA_PERSIST_STORAGE_STATE=true を設定します。複数のクラウドセッションをまたいで状態を保持する場合は、Browserbase Contexts と Anchor プロファイルがプロバイダー標準の選択肢です。

プロバイダー固有のセッションオプションは、別のラッパーや SDK を追加することなく引き続き利用できます。

  • VUDA_BROWSERBASE_SESSION_JSON は Browserbase のセッション作成リクエストにマージされます。
  • VUDA_ANCHOR_SESSION_JSON は Anchor のセッション作成リクエストとして送信されます。
タイムアウト

すべてのタイムアウト設定は任意です。

変数デフォルト用途
VUDA_DEFAULT_TIMEOUT15000Playwright の一般的なタイムアウト(ミリ秒)
VUDA_NAVIGATION_TIMEOUT15000ナビゲーションのタイムアウト
VUDA_SELECTOR_TIMEOUT12000セレクター待機のタイムアウト
VUDA_STABILITY_WAIT5000ナビゲーション後、キャプチャまでの待機時間
VUDA_UI_UPDATE_WAIT1000短時間の UI 更新を待つ時間
VUDA_PERFORMANCE_THRESHOLD15000遅いページと判定するしきい値
VUDA_INTERACTION_DELAY500直接操作の間隔

例:

{
  "mcpServers": {
    "vuda": {
      "command": "npx",
      "args": ["-y", "visual-ui-debug-agent-mcp"],
      "env": {
        "VUDA_NAVIGATION_TIMEOUT": "30000",
        "VUDA_STABILITY_WAIT": "2000"
      }
    }
  }
}

開発

git clone https://github.com/samihalawa/visual-ui-debug-agent-mcp.git
cd visual-ui-debug-agent-mcp
npm ci
npm test

npm test は TypeScript サーバーをビルドし、MCP stdio トランスポート経由で起動して、正確な29個のツールの一覧を検証し、同梱リソースを読み込み、状態を保持するツール呼び出しを実行し、実際のブラウザーのスクリーンショットを取得します。

また、Browserbase と Anchor のセッションリクエスト/クリーンアップの形式、CDP の選択、Cookie の読み込み、クローラーのブラウザー初期化も検証します。CI ではプロバイダー呼び出しに決定論的なモックを使用します。クラウドのライブセッションを利用する場合は、ご自身の .env を使用してください。

プルリクエストを作成する前に、次も実行してください。

npm audit
npm pack --dry-run

アーキテクチャ

VUDA のアーキテクチャ

VUDA は、すべてのプロバイダーで単一の Playwright コントロールプレーンを維持します。ローカルモードではページ単位の分析用に分離されたコンテキストを作成し、リモートモードではプロバイダーのコンテキストを再利用するため、認証済みの状態がツール間で維持されます。VUDA はスクリーンショットを MCP の画像コンテンツとして返し、生成されたスクリーンショット、ブラウザーのステータス、デバッグ用プロンプトを MCP リソースとして公開します。

コントリビューション

Issue と目的を絞ったプルリクエストを歓迎します。開発ワークフローとレビューのチェックリストについては、CONTRIBUTING.md をご覧ください。リリース履歴は CHANGELOG.md に記録されています。

ライセンス

ISC © 2023–2026 Sami Halawa およびコントリビューター。

コメント

MCP は初めてですか?

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

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