Skip to main content
Glama

Chrome MCP Stealth

Chrome DevTools Protocolを介したステルスブラウザ自動化用MCPサーバー。人間のようなインタラクションパターン(ベジェ曲線によるマウス移動、ガウス分布によるタイピング遅延、スクロールのジッター)を使用して実際のChromeインスタンスに接続し、ボット検知を回避します。

なぜこれが必要か

標準的なブラウザ自動化ツール(Playwright、Puppeteer、Selenium)は、現代のアンチボットシステムによって容易に検知されます。サイトは、マウスの動き(直線的な動き、瞬間的なテレポート)、タイピングパターン(一定の遅延)、およびJavaScriptプロパティ(navigator.webdriver、欠落しているプラグイン)をフィンガープリントとして使用し、自動化されたアクセスをブロックします。

Chrome MCP Stealthは、PlaywrightのCDP接続を実際のChromeインスタンス(ヘッドレスブラウザや新規プロファイルではなく、Cookie、拡張機能、履歴が保持された実際のブラウザ)に重ね合わせ、人間のような動作を付加することでこれを解決します。

特徴

  • ステルスモード: ベジェ曲線によるマウス移動、ガウス分布によるキー入力遅延、スクロールのジッター、検知回避のためのJSパッチ

  • 高速モード: 遅延のない即時アクション(保護されていないドメインで利用可能)

  • セキュリティ: プロンプトインジェクション、データ流出、認証情報漏洩に対する4層防御

  • 単一ファイル: サーバー全体が1つの index.js ファイル(約630行)で構成

ステルスの仕組み

マウス移動は、ランダム化された制御点を持つ3次ベジェ曲線に従い、直線ではなく自然な弧を描きます。各移動には、イーズイン・アウトのタイミングと時折のオーバーシュート補正を伴う12〜50の補間ステップが使用されます。

タイピングは、ガウス分布に従ったキー間遅延(平均約75ms)を使用し、句読点の後の追加の休止や、約10文字ごとの定期的な「思考の休止」を挟むことで、人間のタイピングリズムを模倣します。

スクロールは、ジッターを伴う複数ステップの増分と安定化のための遅延に分割され、自動化をフラグ立てする瞬間的なジャンプを回避します。

検知回避パッチは、navigator.webdriver を削除し、window からPlaywright/Seleniumの痕跡を消去し、現実的な chrome.runtime およびプラグインスタブを注入します。

実装の詳細については ARCHITECTURE.md を参照してください。

セキュリティモデル

  1. プロンプトインジェクションスキャナー — 20以上の正規表現パターンにより、ページコンテンツ内の命令のオーバーライド試行、ソーシャルエンジニアリング、データ流出コマンドを検知します

  2. コンテンツサニタイズ — ページテキストを返す前に非表示/不可視の要素が削除され、サイズゼロまたは画面外の要素を介したインジェクションを防ぎます

  3. コンテンツスポットライト — すべてのページコンテンツは、セキュリティフッター付きの <EXTERNAL_CONTENT trust="untrusted"> タグでラップされます

  4. ドメイン制御 — クラウドメタデータエンドポイントは完全にブロックされます。銀行/メール関連ドメインは警告をトリガーし、ステルス専用ドメインはステルスモードを強制します

さらに、すべての出力は認証情報パターン(APIキー、トークン、JWT)についてスキャンされ、返される前に編集(レッドアクション)されます。

ツール (11)

ツール

目的

chrome_set_mode

ステルスモードと高速モードの切り替え

chrome_navigate

URLへの移動

chrome_snapshot

サニタイズされたアクセシビリティツリーの取得

chrome_screenshot

PNGスクリーンショットの撮影

chrome_click

要素のクリック(ステルス時はベジェ曲線マウス移動)

chrome_type

テキスト入力(ステルス時はガウス分布遅延)

chrome_tabs

タブのリスト表示/切り替え/作成/閉じる

chrome_evaluate

ページコンテキストでのJS実行(出力は編集済み)

chrome_wait

セレクターまたはタイムアウトの待機

chrome_scroll

スクロールアップ/ダウン(ステルス時はジッターあり)

chrome_page_info

現在のURL、タイトル、ドメインリスクの取得

セットアップ

  1. CDPを使用してChromeを起動します:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
      --remote-debugging-port=9222 \
      --user-data-dir=~/.chrome-debug-profile
  2. インストールして実行します:

    npm install
    npm start
  3. MCP設定に登録します:

    {
      "chrome-stealth": {
        "command": "node",
        "args": ["path/to/chrome-mcp/index.js"],
        "env": { "CDP_ENDPOINT": "http://127.0.0.1:9222" }
      }
    }

ステルス専用ドメイン

LinkedIn (linkedin.com, www.linkedin.com) はステルスモードを強制し、高速モードはブロックされます。これは、ナビゲーション、モード切り替え、すべてのインタラクション、リダイレクト後、タブ切り替えの5つの層で強制されます。

依存関係

  • @modelcontextprotocol/sdk — MCPプロトコル実装

  • playwright-core — Chrome DevTools Protocol接続

ライセンス

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Riaan-Fourie/chrome-mcp-stealth'

If you have feedback or need assistance with the MCP directory API, please join our Discord server