Patchright Lite MCP Server について
Patchright Lite MCP Server は、Patchright Node.js SDK をラップし、ステルスなブラウザー自動化機能を AI モデルに提供する MCP サーバーです。ツールを少数に絞っており、比較的小規模なモデルでも扱いやすい構成です。
主な機能
- 01browse によるページの表示とコンテンツ抽出
- 02interact によるクリック・入力・選択の操作
- 03extract によるテキスト・HTML・スクリーンショットの取得
- 04close によるブラウザーの終了とリソース解放
- 05stdio トランスポートによる接続
活用シーン
- 01AI モデルによるウェブページの可視テキスト読み取り
- 02ページ上のログインフォームへの入力と送信
- 03表示内容確認のためのスクリーンショット取得
MCP 対応
本プロジェクトは MCP サーバーであり、browse、interact、extract、close の各ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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
インストール
-
このリポジトリをクローンします。
git clone https://github.com/yourusername/patchright-lite-mcp-server.git cd patchright-lite-mcp-server -
依存関係をインストールします。
npm install -
TypeScript コードをビルドします。
npm run build -
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"
}
使用例の流れ
-
ブラウザーを起動してサイトに移動します。
Tool: browse Parameters: { "url": "https://example.com/login", "headless": false } -
ログインフォームに入力します。
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "fill", "selector": "#username", "value": "[email protected]" } -
パスワードを入力します。
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "fill", "selector": "#password", "value": "password123" } -
ログインボタンをクリックします。
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "click", "selector": "#login-button" } -
ログインを確認するためにテキストを抽出します。
Tool: extract Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "type": "text" } -
ブラウザーを閉じます。
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。