Playwright Fetch MCP サーバー
Playwright を用いたブラウザ自動化のためのウェブコンテンツ取得機能を提供するモデルコンテキストプロトコル(LLM)サーバー。このサーバーにより、LLM はウェブページから JavaScript でレンダリングされたコンテンツを取得・処理し、HTML を Markdown に変換して利用しやすくすることができます。
著者
Claude Code の協力を得てWyatt Roersmaが作成しました。
Related MCP server: MCP Playwright CDP
主な特徴
ブラウザ自動化: Playwright を使用して、完全な JavaScript サポートを備えた Web ページをレンダリングします。
コンテンツ抽出: Webページから主要なコンテンツ領域を自動的に識別して抽出します
Markdown変換: HTMLをクリーンで読みやすいMarkdownに変換します
ページネーションサポート: ページネーションを通じて大きなコンテンツを処理します
robots.txt準拠: 自律的なフェッチのためのrobots.txtディレクティブを尊重
プロキシサポート: プロキシサーバー経由でリクエストをルーティングできます
Docker 対応: Docker HubおよびGitHub Container Registry経由でビルド済みの Docker イメージとして利用可能
利用可能なツール
playwright-fetch- Playwright ブラウザ自動化を使用して URL を取得し、その内容をマークダウンとして抽出します。url(文字列、必須): 取得するURLmax_length(整数、オプション):返される文字の最大数(デフォルト:5000)start_index(整数、オプション):この文字インデックスからコンテンツを開始します(デフォルト:0)raw(ブール値、オプション):マークダウン変換なしで生のコンテンツを取得します(デフォルト:false)wait_for_js(ブール値、オプション): JavaScript の実行を待機します (デフォルト: true)
プロンプト
劇作家フェッチ
Playwright を使用して URL を取得し、その内容をマークダウンとして抽出します。
引数:
url(文字列、必須): 取得するURL
要件
Python 3.13.2以降
UVパッケージマネージャー
Playwrightブラウザがインストールされている
インストール
1. uvでインストールする(推奨)
uv pip install git+https://github.com/ThreatFlux/playwright-fetch.git
# Install Playwright browsers
uv pip exec playwright installあるいは、リポジトリのクローンを作成してインストールします。
git clone https://github.com/ThreatFlux/playwright-fetch.git
cd playwright-fetch
uv pip install -e .
# Install Playwright browsers
uv pip exec playwright install2. Dockerの使用
Docker Hub または GitHub Container Registry から、事前に構築された Docker イメージを使用できます。
# From Docker Hub
docker pull threatflux/playwright-fetch:latest
# From GitHub Container Registry
docker pull ghcr.io/threatflux/playwright-fetch:latestまたは自分で構築します:
docker build -t threatflux/playwright-fetch .構成
Claude.app 用に設定する
Claude 設定に追加:
"mcpServers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}"mcpServers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}VS Code用の設定
手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。
{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}
}
}{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}
}
}コマンドラインオプション
サーバーは次のコマンドライン オプションをサポートしています。
--user-agent: カスタムユーザーエージェント文字列--ignore-robots-txt: robots.txt の制限を無視する--proxy-url: リクエストに使用するプロキシ URL--headless: ブラウザをヘッドレスモードで実行する (デフォルト: True)--wait-until: ナビゲーションが成功したと見なすタイミング (選択肢: "load", "domcontentloaded", "networkidle", "commit"、デフォルト: "networkidle")
使用例
# Run with default settings
uv run mcp-server-playwright-fetch
# Run with a custom user agent and proxy
uv run mcp-server-playwright-fetch --user-agent="MyCustomAgent/1.0" --proxy-url="http://myproxy:8080"
# Run with visible browser for debugging
uv run mcp-server-playwright-fetch --headless=falseデバッグ
MCP インスペクタを使用してサーバーをデバッグできます。
npx @modelcontextprotocol/inspector uvx mcp-server-playwright-fetch標準フェッチサーバーとの違い
この実装は、標準のフェッチ MCP サーバーとは次の点で異なります。
ブラウザ自動化: Playwrightを使用してJavaScriptを多用したページをレンダリングします
コンテンツ抽出: 一般的なページ構造からメインコンテンツを抽出します
待機オプション: 設定可能なページ読み込み戦略 (読み込み、DOM コンテンツ、ネットワークアイドルの待機)
表示ブラウザオプション: デバッグのために表示ブラウザで実行できます
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。