mcpField
S
Stealth Browser Mcp

Stealth Browser Mcp

ローカル
github.com/vibheksoniブラウザ自動化3.3k2 日前に更新

Stealth Browser Mcp について

Stealth Browser MCPは、Chrome系ブラウザーとChrome DevTools Protocolを基盤とする、MCP対応AIエージェント向けのブラウザー自動化サーバーです。ページ操作、抽出、ネットワーク調査のツールを構成でき、ボット対策への対応状況はサイトや環境によって異なります。

主な機能

  1. 01Chrome、Chromium、Edgeの自動操作
  2. 02フル、最小、カスタムのツール構成
  3. 03ネットワークリクエストとレスポンスの調査
  4. 04構造やスタイルを含むページ要素の抽出
  5. 05JavaScriptとCDPコマンドの実行

活用シーン

  1. 01ページの移動と要素の操作
  2. 02Webサイトのデバッグ時に通信を確認
  3. 03ページ要素と視覚的な詳細の抽出
  4. 04ログインやチャレンジ対応を含むブラウザー作業の自動化

MCP 対応

このサーバーはstdioまたはHTTPトランスポートを通じて、MCPクライアントにブラウザー操作とデバッグのツールを提供します。独自ブローカーなしで標準的なMCPクライアント設定を利用できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

ステルスブラウザー MCP のロゴ

Stealth Browser MCP

MCP 対応 AI エージェント向けのステルスブラウザー自動化です。

nodriver、Chrome DevTools Protocol、FastMCP を活用した Chrome 系ブラウザーの実際のインスタンスを使って、Cloudflare のチャレンジ、ボット対策チェック、ログイン画面を突破します。

MCP PyPI Python Stars License PRs Welcome


スポンサー

NodeMaven

NodeMaven — Web スクレイピングと自動化に最適な、業界最高品質の IP を提供する、最も効率的なプロキシプロバイダーです。

NodeMaven を選ぶ理由

  • ZIP コードによるターゲティング
  • 稼働率 99.9%
  • IP フィルタリング:すべてのプロキシの不正利用スコアが 97% 未満
  • KYC 不要
  • プロキシ帯域幅チェッカー、メタタグチェッカー、IP ルックアップなど、独自の無料ツールを提供

Stealth-browser-mcp ユーザー向け特別コード

  • STEALTHMCP35 — モバイルプロキシと住宅用プロキシが 35% オフ
  • STEALTHMCP40 — ISP(静的)プロキシが 40% オフ

NodeMaven の利用を開始

スポンサー枠への掲載です。NodeMaven は本プロジェクトの有料スポンサーです。


目次


デモ

Stealth Browser MCP が Cloudflare のチャレンジを通過し、UI 要素を複製し、AI チャットコマンドを使ってネットワークトラフィックを調査します。


特徴

  • ボット対策への耐性 - テストではCloudflareやQueue-It形式のチャレンジを通過しています。結果はサイト、地域、ブラウザーのバージョン、検出器のバージョンによって異なります。
  • 11セクションにわたる101個のツール - 基本的なナビゲーションから高度なCDP関数の実行まで対応します。
  • モジュール式の読み込み - 101個のツールすべてを実行することも、最小構成の21個のコアツールを実行することもできます。不要なセクションは無効にできます。
  • ピクセル単位で正確な要素の複製 - CDPを介して、CSS、DOM構造、イベント、アニメーション、アセットを含む要素全体を抽出します。
  • ネットワークの検査 - AI エージェントを通じて、リクエスト、レスポンス、ヘッダー、ペイロード、キャプチャした本文を検査できます。
  • 動的フックシステム - 制限付きのPythonフックで、リクエスト/レスポンスのフローを傍受、ブロック、リダイレクト、充足、変更できます。
  • CDPの実行 - 信頼されたローカルMCPクライアントを通じて、JavaScript、直接のCDPコマンド、ドキュメント読み込み前のスクリプトを実行できます。
  • 即時のテキスト入力 - CDP経由で大量のコンテンツを貼り付けたり、人間らしいキーストロークで入力したり、信頼されたCDPキーイベントで実際のキーを押したりできます。
  • クロスプラットフォーム - Windows、macOS、Linux、Docker、CI環境に対応し、ブラウザーとプラットフォームを自動検出します。
  • ブラウザーのサポート - Chrome、Chromium、Microsoft Edgeに対応し、実行ファイルを自動検出します。
  • シンプルなMCP連携 - カスタムブローカーなしで、標準のMCPクライアントから利用できます。

クイックスタート

1. インストール

Python 3.10以降と、Chrome、Chromium、またはMicrosoft Edgeが必要です。

pipxを使用する場合(推奨):

pipx install browserstealthmcp

これにより、PATHにstealth-browser-mcpコマンドが追加されます。pipx upgrade browserstealthmcpでアップグレードできます。uvx browserstealthmcpを使うと、インストールせずに実行できます。リリースではなく最新のコミットを実行するには、pipx install git+https://github.com/vibheksoni/stealth-browser-mcp.gitを使用します。

PyPI上のstealth-browser-mcpは別の無関係なプロジェクトに属しているため、PyPIパッケージ名はbrowserstealthmcpです。pipx install stealth-browser-mcpを実行すると、このプロジェクトではなく、その別プロジェクトがインストールされます。

クローンからインストールする場合(開発用):

git clone https://github.com/vibheksoni/stealth-browser-mcp.git
cd stealth-browser-mcp
python -m venv venv

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

pip install -r requirements.txt
2. MCPクライアントに追加する

pipxでインストールした場合:

claude mcp add stealth-browser-mcp -- stealth-browser-mcp

または、任意のクライアントのJSON設定に追加します。

{
  "mcpServers": {
    "stealth-browser-mcp": {
      "command": "stealth-browser-mcp",
      "args": [],
      "env": {}
    }
  }
}

クライアントからコマンドが見つからない場合は、pipx listで表示されるフルパスを使用してください。uvを使う場合は、インストールを省略して"command": "uvx", "args": ["browserstealthmcp"]を使用できます。

Claude Code CLIでクローンから実行する場合:

Windows:

claude mcp add-json stealth-browser-mcp "{\"type\":\"stdio\",\"command\":\"C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe\",\"args\":[\"C:\\path\\to\\stealth-browser-mcp\\src\\server.py\"]}"

macOS / Linux:

claude mcp add-json stealth-browser-mcp '{
  "type": "stdio",
  "command": "/path/to/stealth-browser-mcp/venv/bin/python",
  "args": ["/path/to/stealth-browser-mcp/src/server.py"]
}'

例のパスを、実際のクローンのパスに置き換えてください。

手動でのJSON設定(Claude Desktop、Cursorなど)

Windows(%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "stealth-browser-mcp": {
      "command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
      "env": {}
    }
  }
}

macOS / Linux(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "stealth-browser-mcp": {
      "command": "/path/to/stealth-browser-mcp/venv/bin/python",
      "args": ["/path/to/stealth-browser-mcp/src/server.py"],
      "env": {}
    }
  }
}
FastMCP CLIによる実験的なインストール

これらのコマンドは、FastMCPのインストーラーを使いたいユーザー向けに用意されています。推奨される方法は、上記のstdio JSON設定です。

pip install fastmcp
fastmcp install claude-desktop src/server.py --with-requirements requirements.txt
fastmcp install claude-code src/server.py --with-requirements requirements.txt
fastmcp install cursor src/server.py --with-requirements requirements.txt
3. 動作を確認する

MCPクライアントを再起動し、エージェントに次のように依頼します。

stealth-browserを使ってhttps://example.comに移動し、スクリーンショットを撮ってください。


エージェントスキル

このリポジトリには、Codex形式のスキルに対応するクライアント向けのエージェントスキルがskills/stealth-browser-mcpに含まれています。推奨されるツールの使用順序、状態の確認、ドキュメント読み込み前のCDPスクリプトの使用方法、ネットワークのデバッグ手順、ブラウザーのクリーンアップに関するルールをエージェントに教えます。

LLMが適切なMCPツールを選べない場合や、操作後にブラウザーの状態を確認し忘れる場合は、このスキルを使用してください。クライアントがリポジトリ内のスキルを自動で読み込まない場合は、skills/stealth-browser-mcpをクライアントのスキルディレクトリに追加するか、シンボリックリンクを作成してください。


信頼モデル

このサーバーは、CDP の実行、ページの JavaScript 実行、Cookie/ストレージへのアクセス、ネットワークインターセプト、動的フック、ヘッダーの変更、ナビゲーション、許可リストに登録されたローカルパスからのファイルアップロードなど、強力なローカルブラウザー制御プリミティブを公開します。

MCP クライアントまたはエージェントをセキュリティプリンシパルとして扱ってください。推奨されるデプロイ方法は、信頼できるデスクトップ MCP クライアントを使用したローカルの stdio トランスポートです。HTTP トランスポートを使用する場合は、STEALTH_BROWSER_MCP_AUTH_TOKEN を設定し、信頼できるローカルネットワークまたはプライベートネットワークの外部に、認証なしの HTTP を公開しないでください。


モジュラーアーキテクチャ

必要な機能だけを選択してください。全 101 ツールのスイートを実行することも、21 ツールのコアに絞ることもできます。

モードツール数用途
フル(デフォルト)101ブラウザーの自動化とデバッグの全機能
最小(--minimal)21ブラウザーの基本的な自動化と操作
カスタム(--disable-*)任意特定のセクションを無効化
Xpool セーフ(--xpool-safe)84Runtime.enable をトリガーする CDP 関数ツールを無効化
stealth-browser-mcp --minimal
stealth-browser-mcp --disable-cdp-functions --disable-dynamic-hooks
stealth-browser-mcp --list-sections
stealth-browser-mcp --debug
stealth-browser-mcp --transport http --host 127.0.0.1 --port 8000

クローンから実行する場合も、python src/server.py に同じフラグを指定できます。

詳細なサーバー診断を stderr に出力するには、--debug を使用するか、STEALTH_BROWSER_DEBUG=1 を設定してください。JSON-RPC トランスポートの出力が破損するのを防ぐため、通常の MCP stdio 実行ではデフォルトで出力は抑制されます。

利用可能なセクション:

セクションツール数説明
browser-management8ブラウザーの基本操作
element-interaction13ページの操作と変更
element-extraction9要素の複製と抽出
file-extraction9ファイルベースの抽出ツール
network-debugging10ネットワークの監視とキャプチャ
cdp-functions17Chrome DevTools Protocol の実行
progressive-cloning10高度な要素の複製
cookies-storage3Cookie の管理
tabs5タブの管理
debugging7デバッグとシステムツール
dynamic-hooks10AI 支援によるネットワークフック

サーバー設定

これらは MCP サーバープロセスの環境変数です。シェル、サービスマネージャー、Docker 環境、または MCP クライアントの env ブロックで設定してください。

変数デフォルト意味
STEALTH_BROWSER_MCP_AUTH_TOKENunsetHTTP トランスポート用の任意のベアラートークンです。設定すると、HTTP クライアントは Authorization: Bearer <token> を送信する必要があります。
MCP_AUTH_TOKENunsetSTEALTH_BROWSER_MCP_AUTH_TOKEN との後方互換性を保つための別名です。
BROWSER_IDLE_TIMEOUT600使用されていないブラウザーインスタンスを自動終了するまでの、全体のアイドルタイムアウト(秒)です。0 に設定すると、全体のアイドルクリーンアップが無効になります。
BROWSER_IDLE_REAPER_INTERVAL60バックグラウンドのクリーンアップ処理が確認を行う間隔(秒)です。
BROWSER_TAB_RECYCLE_NAVIGATIONS0指定回数のナビゲーション後に、メインタブを新しいタブに置き換えます。0 の場合は同じタブを維持し、履歴とセッションストレージが保持されます。
BROWSER_ORPHAN_PROFILE_MAX_AGE21600古い uc_* 一時プロファイルを削除する際の、起動時のしきい値(秒)です。0 に設定すると、この起動時のクリーンアップが無効になります。
STEALTH_BROWSER_EXECUTABLEauto-detect自動検出された実行ファイルの代わりに起動する、Chrome、Chromium、または Edge の実行ファイルへのパスです。
BROWSER_FILE_UPLOAD_ALLOWED_DIRSrepo root or data dirfile_upload() が読み取り可能なディレクトリです。複数のルートを指定する場合は、Windows では ;、macOS/Linux では : で区切ります。クローンではリポジトリのルートがデフォルトとなり、インストール済みパッケージではデータディレクトリ内の uploads フォルダーがデフォルトになります。
STEALTH_BROWSER_MCP_DATA_DIRrepo root or user data dir要素のクローンと大きなレスポンスの書き込み先です。クローンではリポジトリのルートがデフォルトとなり、インストール済みパッケージでは、Windows では %LOCALAPPDATA%\stealth-browser-mcp、macOS では ~/Library/Application Support/stealth-browser-mcp、Linux では $XDG_DATA_HOME/stealth-browser-mcp(~/.local/share/stealth-browser-mcp)がデフォルトになります。
STEALTH_BROWSER_DEBUG01 に設定すると、詳細なデバッグログを stderr に出力します。
DEBUG0STEALTH_BROWSER_DEBUG の旧式の別名です。
XPOOL_SAFE_MODE0起動時に cdp-functions セクションを無効にします。
PORT8000--port が指定されていない場合のデフォルト HTTP ポートです。

PowerShell の例:

$env:STEALTH_BROWSER_MCP_AUTH_TOKEN='replace-with-a-long-random-token'
$env:BROWSER_IDLE_TIMEOUT='900'
$env:BROWSER_IDLE_REAPER_INTERVAL='30'
$env:BROWSER_ORPHAN_PROFILE_MAX_AGE='43200'
$env:BROWSER_FILE_UPLOAD_ALLOWED_DIRS='C:\Users\me\uploads;C:\Users\me\Documents'
python src/server.py

MCP クライアントの env ブロック:

{
  "mcpServers": {
    "stealth-browser-mcp": {
      "command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
      "env": {
        "STEALTH_BROWSER_MCP_AUTH_TOKEN": "replace-with-a-long-random-token",
        "BROWSER_IDLE_TIMEOUT": "900",
        "BROWSER_FILE_UPLOAD_ALLOWED_DIRS": "C:\\Users\\me\\uploads;C:\\Users\\me\\Documents"
      }
    }
  }
}

HTTP クライアントの例:

from fastmcp import Client
from fastmcp.client.auth import BearerAuth

client = Client(
    "http://127.0.0.1:8000/mcp/",
    auth=BearerAuth("replace-with-a-long-random-token"),
)

インスタンスごとのアイドルタイムアウトの上書き:

  • spawn_browser(idle_timeout_seconds=1800) は、そのインスタンスを操作のない状態で 30 分間維持します。
  • spawn_browser(idle_timeout_seconds=0) は、そのインスタンスのアイドルクリーンアップを無効にします。

ツールボックス

ブラウザー管理(8)
ツール説明
spawn_browser()ステルスブラウザーインスタンスを作成します
list_instances()アクティブなブラウザーセッションを一覧表示します
close_instance()ブラウザーを正常に終了します
get_instance_state()ブラウザーの状態に関する全情報を取得します
navigate()URL に移動します
go_back()履歴を戻ります
go_forward()履歴を進みます
reload_page()現在のページを再読み込みします
要素の操作(13)
ツール説明
query_elements()CSS セレクターまたは XPath で要素を検索します
click_element()要素をクリックします
type_text()改行に対応した、人間のような文字入力を行います
paste_text()CDP 経由でテキストを即座に貼り付けます
press_key()信頼された CDP キーイベントで実際のキーを押します(Enter、Tab、矢印、修飾キー)
file_upload()許可リストに登録されたローカルファイルをファイル入力欄にアップロードします
select_option()ドロップダウンのオプションを選択します
get_element_state()要素の状態を調べます
wait_for_element()要素が現れるまで待機します
scroll_page()自然な動きでページをスクロールします
execute_script()ページの JavaScript を実行します
get_page_content()ページの HTML とテキストを読み取ります
take_screenshot()スクリーンショットを撮影します
`take_screenshot` はメタデータ(形式、サイズ、スケール、品質、バイト数、SHA-256)付きの MCP 画像を返すため、リモートクライアントはサーバーのディスクを読み取らずに表示できます。長いフルページスクリーンショットなどの大きなキャプチャは、クライアントの制限(各辺 8000 px、約 5 MB)に収まるよう縮小され、メタデータには元のサイズが報告されます。小さな画像にするには、`format="jpeg"` と低い `quality`、または `max_width` を指定します。サーバーにフル解像度の画像を保存するには、`file_path` を指定します。
ネットワークのデバッグ(10)
ツール説明
list_network_requests()キャプチャしたネットワークリクエストを一覧表示
get_request_details()リクエストヘッダーとペイロードを調査
get_response_details()レスポンスのメタデータを調査
get_response_content()キャプチャしたレスポンスの内容を読み取る
search_network_requests()キャプチャしたリクエストを検索
export_network_data()キャプチャしたネットワークデータをエクスポート
import_network_data()ネットワークデータをインポート
set_network_capture_filters()キャプチャフィルターを設定
get_network_capture_filters()有効なキャプチャフィルターを読み取る
modify_headers()リクエストヘッダーを追加または置換
Cookie とストレージ(3)
ツール説明
get_cookies()Cookie を読み取る
set_cookie()Cookie を設定
clear_cookies()Cookie を消去
デバッグ(7)
ツール説明
get_debug_view()ページネーション付きでデバッグログと統計情報を表示
clear_debug_view()デバッグログを消去
export_debug_logs()ログを JSON、pickle、または gzip 形式でエクスポート
get_debug_lock_status()デバッグロガーのロック状態を調査
hot_reload()サーバーを再起動せずにモジュールを再読み込み
reload_status()モジュールの再読み込み状態を確認
validate_browser_environment_tool()ブラウザーとプラットフォームの互換性を診断
タブ(5)
ツール説明
list_tabs()開いているタブを一覧表示
switch_tab()アクティブなタブを切り替え
close_tab()タブを閉じる
get_active_tab()現在アクティブなタブを取得
new_tab()新しいタブを作成
要素の抽出(9)
ツール説明
extract_element_styles()計算済み CSS プロパティを抽出
extract_element_structure()DOM 構造を抽出
extract_element_events()イベントリスナーを抽出
extract_element_animations()アニメーションとトランジションを抽出
extract_element_assets()画像、フォント、動画、アセットを抽出
extract_element_styles_cdp()純粋な CDP スタイル抽出
extract_related_files()関連する CSS/JS ファイルを検索
clone_element_complete()要素を完全に複製
extract_complete_element_cdp()CDP ベースで要素を完全に複製
段階的な複製(10)
ツール説明
clone_element_progressive()軽量な要素の初期複製
expand_styles()必要に応じてスタイルを展開
expand_events()必要に応じてイベントを展開
expand_children()必要に応じて子ノードを展開
expand_css_rules()CSS ルールのデータを展開
expand_pseudo_elements()擬似要素を展開
expand_animations()アニメーションのデータを展開
list_stored_elements()保存済みの段階的な複製を一覧表示
clear_stored_element()保存済みの要素を 1 つ消去
clear_all_elements()保存済みの要素をすべて消去
ファイルベースの抽出(9) | ツール | 説明 | |------|-------------| | `clone_element_to_file()` | クローン全体をファイルに保存 | | `extract_complete_element_to_file()` | 抽出した全内容をファイルに保存 | | `extract_element_styles_to_file()` | スタイルをファイルに保存 | | `extract_element_structure_to_file()` | 構造をファイルに保存 | | `extract_element_events_to_file()` | イベントをファイルに保存 | | `extract_element_animations_to_file()` | アニメーションをファイルに保存 | | `extract_element_assets_to_file()` | アセットをファイルに保存 | | `list_clone_files()` | 保存済みのクローンファイルを一覧表示 | | `cleanup_clone_files()` | 古いクローンファイルをクリーンアップ |
CDP 関数の実行(14)
ツール説明
list_cdp_commands()利用可能な CDP コマンドを一覧表示
execute_cdp_command()CDP コマンドを直接実行
add_script_to_evaluate_on_new_document()ページの JavaScript 実行前にスクリプトをインストール
get_execution_contexts()JavaScript 実行コンテキストを一覧表示
discover_global_functions()グローバル JavaScript 関数を検索
discover_object_methods()JavaScript オブジェクトのメソッドを検索
call_javascript_function()検出した JavaScript 関数を実行
inspect_function_signature()関数の詳細を確認
inject_and_execute_script()カスタム JavaScript を挿入して実行
create_persistent_function()再読み込み後も維持される関数を作成
create_page_binding()window.<name>() を公開し、ページの JavaScript からエージェントを呼び出せるようにする
get_page_binding_calls()キューに入ったページバインディング呼び出しを読み取る。必要に応じて呼び出しを待機
resolve_page_binding_call()ページバインディング呼び出しに値またはエラーで応答
remove_page_binding()ページバインディングを削除し、保留中の呼び出しを拒否
execute_function_sequence()関数呼び出しを順番に実行
execute_python_in_browser()py2js で Python を JavaScript に変換して実行
get_function_executor_info()エグゼキューターの状態を確認
動的フック(10)
ツール説明
create_dynamic_hook()制限付きの Python ネットワークフックを作成
create_simple_dynamic_hook()一般的なプリセットからフックを作成
list_dynamic_hooks()有効なフックを一覧表示
get_dynamic_hook_details()フックのソースとメタデータを確認
remove_dynamic_hook()フックを削除
get_hook_documentation()リクエストオブジェクトとアクションのドキュメントを読む
get_hook_examples()フックの例を表示
get_hook_requirements_documentation()マッチングとベストプラクティスのドキュメントを読む
get_hook_common_patterns()一般的なフックパターン
validate_hook_function()使用前にフックコードを検証

Stealth と Playwright MCP の比較

検出結果は特定時点のものであり、サイトのポリシー、地域、ブラウザーのバージョン、IP の評価、検出器のバージョンによって異なります。Linux、Windows、macOS 上で GitHub Actions により実行される benchmarks/stealth/ のベンチマークから得られた週次の自動テスト結果と、以前の手動スナップショットについては、STEALTH_TESTS.md をご覧ください。

機能Stealth Browser MCPPlaywright MCP
Cloudflare/Queue-It のようなチェックテストで一般的な JS チャレンジに合格一般にブロックされる
強固に保護されたサイトnodriver 経由で実際の Chrome 系ブラウザーインスタンスを使用自動化として頻繁に検出される
ログインが必要なページCDP を通じて読み込み済みのコンテンツやオーバーレイを調査可能手動でのスクリプト作成が必要になることが多い
UI 要素の複製CDP による正確な抽出限定的
ネットワークのデバッグAI ツールを通じてリクエスト/レスポンスを完全に調査基本的
API のリバースエンジニアリングチャットを通じてペイロードを調査手動ツールのみ
動的フックシステムリアルタイムのインターセプトに対応する、制限付きの Python フック利用不可
モジュール型アーキテクチャ11 セクション、21~101 個のツール固定されたツールセット
ツールの合計数カスタマイズ可能な 101 個のツール約 20 個

トラブルシューティング

互換性のあるブラウザーが見つからない Chrome、Chromium、または Microsoft Edge をインストールしてください。サーバーは利用可能な最初のブラウザーを自動検出します。診断には validate_browser_environment_tool() を実行してください。

ツールがハングする、または不正な JSON を返す MCP の stdio トランスポートでは、デバッグ出力を stdout に出力しないでください。最新の master ブランチを取得し、問題を診断する場合を除いてデバッグログを無効にしてください。

通常の実行を煩雑にせず、詳細な診断情報が必要 python src/server.py --debug を使用するか、STEALTH_BROWSER_DEBUG=1 を設定してください。デバッグログは stderr に出力されます。通常の MCP stdio 実行では、デフォルトで出力は抑制されます。

Linux、Docker、または CI でブラウザーがクラッシュする 環境で必要な場合に限り --sandbox=false を指定して実行するか、環境が Chromium のサンドボックスに対応していることを確認してください。サーバーは root/コンテナー環境を自動検出し、起動引数を調整します。

孤立した Chromium プロセスや uc_* の一時プロファイルが蓄積する サーバーはアイドル状態のブラウザーインスタンスを自動的に終了し、追跡対象の孤立プロセスと古い uc_* 一時プロファイルを起動時にクリーンアップします。ブラウザーのライフサイクルを完全に手動で管理する場合に限り、BROWSER_IDLE_TIMEOUT=0 を設定してください。

macOS のディスクが code_sign_clone フォルダーでいっぱいになる 以前のバージョンでは、Chrome が起動のたびにアプリバンドルを com.google.Chrome.code_sign_clone にコピーし、インスタンスがクラッシュまたは強制終了された場合も、そのコピーが残っていました。現在、サーバーは MacAppCodeSignClone を無効にして Chrome を起動するため、新しいコピーは作成されません。以前のバージョンで残されたコピーを削除するには、Chrome を終了して rm -rf /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone を実行してください(Edge の場合は com.microsoft.edgemac.code_sign_clone を使用します)。

AI チャットにツールが多すぎて煩雑になる コアツール 20 個を使うには --minimal、xpool 互換の動作には --xpool-safe を使用するか、次のようにセクションを選択して無効にしてください。

python src/server.py --disable-cdp-functions --disable-dynamic-hooks --disable-progressive-cloning

モジュールが見つからないというエラーが発生する 仮想環境を有効化し、依存関係をインストールしたことを確認してください。

pip install -r requirements.txt

使用例

  • 市場調査 - 競合他社の価格と機能を抽出し、比較表を出力します。
  • UI の複製 - 正確なフォント、スタイル、アセット、インタラクションを備えた価格セクションを再現します。
  • 在庫の監視 - 商品ページを監視し、在庫状況が変わったときに通知します。
  • API のリバースエンジニアリング - リクエストをインターセプトし、エンドポイントを整理して、データフローを調査します。
  • フォームの自動化 - 許可リストに登録されたパスからファイルをアップロードし、処理後のページ状態を確認します。

すべて単一の AI エージェントとの会話から実行できます。


ショーケース

Augment Codeのヒーローセクションの再現

Augment Codeのヒーローセクションのクローン - ユーザーがClaudeに、augmentcode.comのヒーローセクションをクローンするよう依頼しました。エージェントはステルスブラウザーを起動してサイトにアクセスし、CDP経由で要素全体(スタイル、構造、アセット)を抽出して、レスポンシブデザインとアニメーションを備えた、ピクセル単位で正確なHTMLを生成しました。会話全体にかかった時間は2分未満でした。

再現例を見る | 全手順を見る


ロードマップ

ROADMAP.mdで最新の計画をご確認ください。コントリビューションを歓迎します。


コントリビューション

CONTRIBUTING.mdを読み、PRを作成してください。初めてのコントリビューターも歓迎します。

このプロジェクトで時間を節約できたら、リポジトリにスターを付けてください。想像以上に役立ちます。


サポート

このツールで時間を節約できた、または収益を得られた場合は、開発へのご支援をご検討ください。


ライセンス

MIT - 詳細はLICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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