Playwright MCP Server について
Playwright MCP Serverは、Playwrightを通じてページ移動、テキスト取得、マウス操作を提供します。Webページを調査・操作するMCPクライアント向けです。
主な機能
- 01URLへの移動
- 02ページ全体または表示中のテキスト取得
- 03操作要素と座標の検出
- 04マウス移動、クリック、スクロール、ドラッグの実行
- 05テスト用のメッセージ応答
活用シーン
- 01MCPクライアントからページ内容を読む
- 02ブラウザー操作の前に操作要素を特定する
- 03マウスによるページ操作を行う
- 04応答機能でMCP接続をテストする
MCP 対応
MCPサーバーとして、Playwrightによるページ移動、内容取得、要素検出、マウス操作のツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Playwright MCP Server
English | 日本語
このプロジェクトは、Model Context Protocol(MCP)を使用して、Playwright による Web ページコンテンツの取得機能を提供するサーバーです。
機能
- ページのナビゲーション
- ページ全体のコンテンツ取得
- 表示中のコンテンツ取得
- インタラクティブ要素の検出
- マウス操作のシミュレーション
- テスト用のエコー機能
インストール
Smithery 経由でのインストール
Smithery 経由で、Claude Desktop 用の Playwright MCP Server を自動的にインストールするには、次の手順を実行します。
npx -y @smithery/cli install @showfive/playwright-mcp-server --client claude
手動インストール
npm install
使用方法
サーバーの起動
npm run build
npm start
MCP ツール
次のツールを利用できます。
-
navigate- 指定した URL に移動します
- 引数:
{ url: string } - 戻り値:ナビゲーション結果
-
get_all_content- ページ全体のコンテンツを取得します
- 引数:なし
- 戻り値:ページ上のすべてのテキストコンテンツ
-
get_visible_content- 現在表示されているコンテンツを取得します
- 引数:
{ minVisiblePercentage?: number } - 戻り値:表示中のテキストコンテンツ
-
get_interactive_elements- ページ上のインタラクティブ要素(ボタン、リンクなど)の位置情報を取得します
- 引数:なし
- 戻り値:インタラクティブ要素の座標と境界情報
-
move_mouse- マウスカーソルを指定した座標に移動します
- 引数:
{ x: number, y: number } - 戻り値:操作結果
-
mouse_click- 指定した座標でマウスクリックを実行します
- 引数:
{ x: number, y: number, button?: "left" | "right" | "middle", clickCount?: number } - 戻り値:クリック操作の結果
-
mouse_wheel- マウスホイールによるスクロールを実行します
- 引数:
{ deltaY: number, deltaX?: number } - 戻り値:スクロール操作の結果
-
drag_and_drop- ドラッグ&ドロップ操作を実行します
- 引数:
{ sourceX: number, sourceY: number, targetX: number, targetY: number } - 戻り値:ドラッグ&ドロップ操作の結果
-
echo- テスト用のエコーツールです
- 引数:
{ message: string } - 戻り値:送信されたメッセージ
開発
テストの実行
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
テスト構成
tools/*.test.ts:各ツールの関数テストmcp-server.test.ts:MCP サーバーの関数テスト
実装上の機能
-
コンテンツの取得
- ページ全体のコンテンツ取得
- 表示中のコンテンツのみ取得
- 適切な HTML 解析
-
インタラクション
- インタラクティブ要素の検出と位置情報の取得
- マウス操作のシミュレーション(移動、クリック、スクロール)
- ドラッグ&ドロップのサポート
-
エラー処理
- 適切なナビゲーションエラー処理
- タイムアウト処理
- 無効な URL の検出
-
柔軟な設定
- ヘッドレスモード/ヘッドモードの選択
- カスタムユーザーエージェント
- ビューポートサイズの設定
重要な注意事項
- MCP サーバーを使用する前に、必要な環境変数が設定されていることを確認してください
- Web ページのコンテンツを取得する際は、対象 Web サイトの利用規約に従ってください
- 複数のリクエストを送信する場合は、適切な間隔を空けてください
- マウス操作は実際のユーザー操作をシミュレートするため、適切な間隔を空けてください
ライセンス
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。