mcpField
P
Patchright Lite MCP Server

Patchright Lite MCP Server

ローカル
github.com/dylangroosブラウザ自動化2577 週間前に更新

Patchright Lite MCP Server について

Patchright Lite MCP Server は、Patchright Node.js SDK をラップし、ステルスなブラウザー自動化機能を AI モデルに提供する MCP サーバーです。ツールを少数に絞っており、比較的小規模なモデルでも扱いやすい構成です。

主な機能

  1. 01browse によるページの表示とコンテンツ抽出
  2. 02interact によるクリック・入力・選択の操作
  3. 03extract によるテキスト・HTML・スクリーンショットの取得
  4. 04close によるブラウザーの終了とリソース解放
  5. 05stdio トランスポートによる接続

活用シーン

  1. 01AI モデルによるウェブページの可視テキスト読み取り
  2. 02ページ上のログインフォームへの入力と送信
  3. 03表示内容確認のためのスクリーンショット取得

MCP 対応

本プロジェクトは MCP サーバーであり、browse、interact、extract、close の各ツールを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"patchright-mcp-lite": {
"command": "npx",
"args": [
"-y",
"patchright"
]
}
}
}
起動コマンドnpx -y patchright

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

パッケージ
npmpatchright

ツール

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

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

詳細

Patchright Lite MCP サーバー

Patchright Node.js SDK をラップし、AI モデルにステルスブラウザー自動化機能を提供する、軽量化された Model Context Protocol(MCP)サーバーです。この軽量サーバーは、シンプルな AI モデルでも使いやすいよう、不可欠な機能に絞っています。

Patchright とは?

Patchright は、Playwright のテストおよび自動化フレームワークを検出されないようにしたものです。Playwright のドロップイン置換として設計されていますが、ボット対策システムによる検出を回避するための高度なステルス機能を備えています。Patchright は、次のようなさまざまな検出手法を無効化します。

  • Runtime.enable の漏えい
  • Console.enable の漏えい
  • コマンドフラグの漏えい
  • 一般的な検出ポイント
  • 閉じた Shadow Root とのやり取り

この MCP サーバーは、Patchright の Node.js 版をラップし、シンプルで標準化されたプロトコルを通じて、AI モデルがその機能を利用できるようにします。

特長

  • シンプルなインターフェース:不可欠な 4 つのツールだけに絞った中核機能
  • ステルス自動化:Patchright のステルスモードを使用して検出を回避
  • MCP 標準:AI との簡単な統合を可能にする Model Context Protocol を実装
  • Stdio トランスポート:標準入力/出力を使用してシームレスに統合

前提条件

  • Node.js 18+
  • npm または yarn

インストール

  1. このリポジトリをクローンします。

    git clone https://github.com/yourusername/patchright-lite-mcp-server.git
    cd patchright-lite-mcp-server
    
  2. 依存関係をインストールします。

    npm install
    
  3. TypeScript コードをビルドします。

    npm run build
    
  4. Pathright 用の Chromium-Driver をインストールします。

    npx patchright install chromium
    

使い方

次のコマンドでサーバーを起動します。

npm start

これにより、サーバーが Stdio トランスポートで起動し、MCP に対応した AI ツールと統合できる状態になります。

AI モデルとの統合

Claude Desktop

claude-desktop-config.json ファイルに次の内容を追加します。

{
  "mcpServers": {
    "patchright": {
      "command": "node",
      "args": ["path/to/patchright-lite-mcp-server/dist/index.js"]
    }
  }
}
GitHub Copilot を使用する VS Code

VS Code CLI を使用して MCP サーバーを追加します。

code --add-mcp '{"name":"patchright","command":"node","args":["path/to/patchright-lite-mcp-server/dist/index.js"]}'

利用可能なツール

このサーバーでは、不可欠な 4 つのツールのみを提供します。

1. browse

ブラウザーを起動して URL に移動し、コンテンツを抽出します。

Tool: browse
Parameters: {
  "url": "https://example.com",
  "headless": true,
  "waitFor": 1000
}

戻り値:

  • ページタイトル
  • 表示されているテキストのプレビュー
  • ブラウザー ID(後続の操作で使用)
  • ページ ID(後続の操作で使用)
  • スクリーンショットのパス
2. interact

ページ上で簡単な操作を実行します。

Tool: interact
Parameters: {
  "browserId": "browser-id-from-browse",
  "pageId": "page-id-from-browse",
  "action": "click", // can be "click", "fill", or "select"
  "selector": "#submit-button",
  "value": "Hello World" // only needed for fill and select
}

戻り値:

  • 操作結果
  • 現在の URL
  • スクリーンショットのパス
3. extract

現在のページから指定したコンテンツを抽出します。

Tool: extract
Parameters: {
  "browserId": "browser-id-from-browse",
  "pageId": "page-id-from-browse",
  "type": "text" // can be "text", "html", or "screenshot"
}

戻り値:

  • リクエストされた種類に基づいて抽出されたコンテンツ
4. close

リソースを解放するためにブラウザーを閉じます。

Tool: close
Parameters: {
  "browserId": "browser-id-from-browse"
}

使用例の流れ

  1. ブラウザーを起動してサイトに移動します。

    Tool: browse
    Parameters: {
      "url": "https://example.com/login",
      "headless": false
    }
    
  2. ログインフォームに入力します。

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "fill",
      "selector": "#username",
      "value": "[email protected]"
    }
    
  3. パスワードを入力します。

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "fill",
      "selector": "#password",
      "value": "password123"
    }
    
  4. ログインボタンをクリックします。

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "click",
      "selector": "#login-button"
    }
    
  5. ログインを確認するためにテキストを抽出します。

    Tool: extract
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "type": "text"
    }
    
  6. ブラウザーを閉じます。

    Tool: close
    Parameters: {
      "browserId": "browser-id-from-step-1"
    }
    

セキュリティに関する考慮事項

  • このサーバーは強力な自動化機能を提供します。責任を持ち、倫理的に使用してください。
  • ウェブサイトの利用規約に違反する操作の自動化は避けてください。
  • レート制限に注意し、リクエストでウェブサイトに過度な負荷をかけないでください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。

謝辞

  • Kaliiiiiiiiii-Vinyzu による Patchright-nodejs
  • modelcontextprotocol による Model Context Protocol

Docker の使い方

Docker を使用してこのサーバーを実行できます。

docker run -it --rm dylangroos/patchright-mcp
Docker イメージをローカルでビルドする

Docker イメージをビルドします。

docker build -t patchright-mcp .

コンテナーを実行します。

docker run -it --rm patchright-mcp
Docker Hub

変更が main ブランチにマージされると、イメージは Docker Hub に自動的に公開されます。 最新のイメージはこちらで確認できます:dylangroos/patchright-mcp

コメント

MCP は初めてですか?

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

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