playwright-server MCP server について
playwright-server は、Playwright によるブラウザー操作ツールを提供する Python 製の MCP サーバーです。簡単なノート用リソースと要約プロンプトも含みます。MCP クライアントからページ移動、クリック、入力、スクリーンショットを行いたい開発者に向いています。README では設定の詳細がプレースホルダーのままです。
主な機能
- 01セッションの自動作成を伴うページ遷移
- 02ページ全体または要素のスクリーンショット
- 03CSS セレクターによるクリックと入力
- 04表示テキストによる要素のクリック
- 05JavaScript の実行とページ内容の取得
活用シーン
- 01MCP クライアントからページを開いてスクリーンショットを取得
- 02CSS セレクターでフォーム入力とボタン操作を自動化
- 03ページのテキストや HTML を取得して分析を補助
MCP 対応
本プロジェクトは MCP サーバーであり、playwright_navigate、playwright_click、playwright_screenshot などのブラウザツールと、note:// リソース、summarize-notes プロンプトを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
playwright-server MCP サーバー
\Playwright ツールを備えた MCP サーバー\
コンポーネント
リソース
このサーバーは、シンプルなメモ保存システムを実装しています。
- 個々のメモにアクセスするためのカスタム
note://URI スキーム - 各メモリソースには、名前、説明、
text/plainMIME タイプがあります
プロンプト
このサーバーは、単一のプロンプトを提供します。
- summarize-notes:保存されているすべてのメモの要約を作成します
- 詳細度(簡潔/詳細)を調整するための任意の「style」引数
- 現在のすべてのメモとスタイルの設定を組み合わせたプロンプトを生成します
ツール
このサーバーは、以下のツールを実装しています。
playwright_navigate:指定した URL に移動します。アクティブなセッションがない場合、この操作で新しいセッションが自動的に作成されます。url引数(文字列)が必要です。
playwright_screenshot:現在のページまたは特定の要素のスクリーンショットを撮影します。- スクリーンショットのファイル名として、
name引数(文字列)が必要です。 - スクリーンショットを撮影する要素を指定するための、任意の
selector引数(文字列)。指定しない場合は、ページ全体のスクリーンショットが撮影されます。
- スクリーンショットのファイル名として、
playwright_click:CSS セレクターを使って、ページ上の要素をクリックします。- クリックする要素の CSS セレクターを指定するため、
selector引数(文字列)が必要です。
- クリックする要素の CSS セレクターを指定するため、
playwright_fill:入力フィールドに値を入力します。- 入力フィールドの CSS セレクターを指定するため、
selector引数(文字列)が必要です。 - 入力する値を指定するため、
value引数(文字列)が必要です。
- 入力フィールドの CSS セレクターを指定するため、
playwright_evaluate:ブラウザーのコンソールで JavaScript コードを実行します。- 実行する JavaScript コードを指定するため、
script引数(文字列)が必要です。
- 実行する JavaScript コードを指定するため、
playwright_click_text:ページ上の要素を、そのテキスト内容を使ってクリックします。- クリックする要素のテキスト内容を指定するため、
text引数(文字列)が必要です。
- クリックする要素のテキスト内容を指定するため、
playwright_get_text_content:表示されているすべての要素のテキスト内容を取得します。playwright_get_html_content:ページの HTML 内容を取得します。- 要素の CSS セレクターを指定するため、
selector引数(文字列)が必要です。
- 要素の CSS セレクターを指定するため、
設定
[TODO: Add configuration details specific to your implementation]
クイックスタート
インストール
Claude Desktop
MacOS の場合:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
開発版/未公開サーバーの設定
``` "mcpServers": { "playwright-server": { "command": "uv", "args": [ "--directory", "C:\Users\xxxxx\Documents\project\python\mcp\playwright-server", "run", "playwright-server" ] } } ```公開済みサーバーの設定
``` "mcpServers": { "playwright-server": { "command": "uvx", "args": [ "playwright-server" ] } } ```開発
ビルドと公開
配布用にパッケージを準備するには、次の手順を実行します。
- 依存関係を同期し、ロックファイルを更新します。
uv sync
- パッケージの配布物をビルドします。
uv build
これにより、dist/ ディレクトリにソース配布物とホイール配布物が作成されます。
- PyPI に公開します。
uv publish
注:環境変数またはコマンドフラグを使って、PyPI の認証情報を設定する必要があります。
- トークン:
--tokenまたはUV_PUBLISH_TOKEN - またはユーザー名/パスワード:
--username/UV_PUBLISH_USERNAMEおよび--password/UV_PUBLISH_PASSWORD
デバッグ
MCP サーバーは stdio 経由で実行されるため、デバッグが難しい場合があります。最適なデバッグ体験のため、MCP Inspector の使用を強くおすすめします。
次のコマンドを使って、npm 経由で MCP Inspector を起動できます。
npx @modelcontextprotocol/inspector uv --directory C:\Users\YUNYING\Documents\project\python\mcp\playwright-server run playwright-server
起動すると、Inspector に URL が表示されます。その URL にブラウザーからアクセスして、デバッグを開始できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。