実践ガイド

Playwright MCP完全導入ガイド|セットアップと実践

Playwright MCPを公式準拠で解説。Node 18+、accessibility snapshots、npx標準設定、Claude Code/Cursor/VS Code追加、--port 8931、Dockerまで実践的に整理します。

AI Agent CampAI Agent Camp 編集部··6 分で読了

Playwright MCP完全導入ガイド|セットアップと実践

Playwright MCP とは

Playwright MCP は、Microsoft が提供する Model Context Protocol(MCP)サーバー で、LLM エージェントに ブラウザ操作能力 を付与します。ピクセルベースのスクリーンショット解析ではなく、ページの アクセシビリティツリー(accessibility snapshots) を構造化データとして返し、要素の ref(例: [ref=e5])を使ってクリック・入力・ナビゲーションを行います。そのため ビジョンモデルが不要 で、VS Code、Cursor、Claude Code、Claude Desktop 等の MCP クライアントから安定して使えます。

正本は playwright-mcp GitHub リポジトリPlaywright MCP 公式ドキュメント です。本記事は 2026年7月時点の標準構成を軸に、セットアップから実践プロンプト、Docker・スタンドアロンサーバーまでを整理します。MCP 全般の概念は MCP 入門 を先に読むと理解が早いです。


前提環境

項目要件
Node.js18 以上Getting Started 明記)
MCP クライアントVS Code、Cursor、Claude Code、Claude Desktop、Windsurf 等
OSmacOS / Windows / Linux(headed ブラウザ表示は GUI 環境が必要)
ネットワークnpx@playwright/mcp@latest を取得できること

初回起動時に Playwright ブラウザバイナリのダウンロードが走る場合があります。CI やオフライン環境では事前の npx playwright install 相当の準備を検討してください。


標準 MCP 設定(npx)

最も一般的な構成は npx @playwright/mcp@latest です。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

クライアントによって JSON のキー名(mcpServers / servers)や配置ファイル(mcp.json / Claude Code の MCP レジストリ)が異なりますが、command + args の実体は上記が公式の標準形です。


Claude Code への追加

Claude Code では次の1行が公式クイックスタートです。

claude mcp add playwright npx @playwright/mcp@latest

追加後、/mcp で接続状態を確認し、エージェントにブラウザ操作を依頼します。例(First interaction より):

Navigate to https://demo.playwright.dev/todomvc and add a few todo items.

エージェントは Playwright MCP のツールでページを開き、スナップショット上の ref を使って todo を追加します。


VS Code への追加

UI / CLI

公式は VS Code 用インストールボタンに加え、CLI 例として次を示しています。

code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'

mcp.json を手動編集する場合も、上記 command / args と同等のエントリを servers に追加します。


Cursor への追加

Cursor では Settings → MCP → Add new MCP Server から command タイプnpx @playwright/mcp@latest を指定する手順が Getting Started に記載されています。Cursor Agent から「ローカル http://localhost:3000 を開いてコンソールエラーを確認して」と依頼するユースケースと相性が良いです(Cursor 入門 と併読可)。


accessibility snapshots の読み方

Playwright MCP が返すスナップショットは、おおよそ次のようなテキスト構造です。

- heading "todos" [level=1]
- textbox "What needs to be done?" [ref=e5]
- listitem:
  - checkbox "Toggle Todo" [ref=e10]
  - text: "Buy groceries"

LLM は ref=e5 に入力ref=e10 をクリック といった指示で DOM を操作します。CSS セレクタを毎回推測するより ロールと名前 が明示されるため、動的 UI でも再現性が上がりやすい、というのが公式が強調する設計です。


主要ツールカテゴリ(概要)

公式ドキュメントが列挙する能力(詳細なツール名は GitHub 正本を参照):

カテゴリできること
NavigationURL オープン、戻る/進む、リロード
Click / Typeクリック、入力、フォーム、セレクト
Screenshotページまたは要素のキャプチャ(視覚確認用)
Keyboard / Mouseキー、ホバー、ドラッグ&ドロップ
Dialogsalert/confirm の accept/dismiss
Tabsタブ作成・切替・クローズ
Networkリクエスト一覧、ルート mock、コンソールログ
Storagecookie / localStorage の保存・復元

browser_run_code_unsafe

複雑な操作は browser_run_code_unsafe で Playwright スクリプトを直接実行できます。公式は RCE 相当 と明記しており、信頼できる MCP クライアントにだけ有効化 すべきです。

Run this Playwright code to verify the todo count:
async (page) => {
  const count = await page.getByTestId('todo-count').textContent();
  return count;
}

設定オプション

Headed / Headless

既定は headed(ブラウザ UI が見える)。ヘッドレス化:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--headless"
      ]
    }
  }
}

ブラウザ選択

"args": ["@playwright/mcp@latest", "--browser=firefox"]

サポート: chrome, firefox, webkit, msedgeConfiguration)。

プロファイルモード

設定ファイル

npx @playwright/mcp@latest --config path/to/config.json

高度な timeout、network ルール等は GitHub リポジトリ の schema を参照してください。


スタンドアロンサーバー(--port 8931)

ディスプレイのない環境や IDE の worker プロセスから headed ブラウザを扱う場合、HTTP トランスポートで別プロセス起動 が有効です。

npx @playwright/mcp@latest --port 8931

クライアント側は URL 指定:

{
  "mcpServers": {
    "playwright": {
      "url": "http://localhost:8931/mcp"
    }
  }
}

ポート 8931 は公式 Quick Reference の例です。ファイアウォールや他サービスとの競合時は変更可能ですが、クライアントとサーバーで一致させてください。


Docker(mcr.microsoft.com/playwright/mcp)

コンテナで MCP サーバーを動かす場合、Microsoft の Playwright MCP 用イメージ mcr.microsoft.com/playwright/mcp が GitHub / docs で案内されています。GUI 表示が必要な headed モードでは X11 転送や VNC 等の追加設定が必要になることが多く、ローカル開発では npx 直起動の方がトラブルが少ないケースもあります。本番 CI 向けのヘッドレス検証では Docker + --headless の組み合わせを検討してください。


実践プロンプト例

目的プロンプト例
スモークテストhttp://localhost:3000/ja を開き、ヒーロー見出しが表示されるか確認して
フォームデモサイトのログインフォームに test@example.com を入力して送信ボタンを押して
回帰確認前回保存した storage state を使ってダッシュボードまで遷移できるか確認して

API レスポンスのモック(browser_route 等)は、公式 README では network capability の opt-in が必要な場合があります。使うときは args に例えば --caps=network を足すなど、playwright-mcp README の capability 節を確認してください。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest", "--caps=network"]
    }
  }
}

E2E テストコード生成そのものより、エージェントが対話的にページを触る 用途で Playwright MCP の価値が出やすいです。テストスイート化する段階では通常の @playwright/test プロジェクトへ移行するのが一般的です。


セキュリティと運用上の注意


よくあるつまずき

症状原因対処
MCP が起動しないNode < 18node -v で確認、アップグレード
ブラウザが開かないヘッドレス/ディスプレイ不足headed 設定、または --port 分離
npx が毎回遅い都度ダウンロードグローバル pin や config ファイルで固定
ref が見つからないUI 変更・タイミングリロード指示、待機をプロンプトに含める
Claude が Playwright を使わないツール未接続/mcp で playwright サーバー状態確認

FAQ

Q. Playwright MCP と Playwright Test の違いは? MCP は エージェント向けの対話的ブラウザ操作。Test は 自動テストフレームワーク です。目的が違います。

Q. スクリーンショットは使いますか? 主経路は accessibility snapshot ですが、スクリーンショットツールもあり 視覚確認 に使えます。

Q. Claude Code 以外でも使えますか? はい。VS Code、Cursor、Claude Desktop、Windsurf、Cline 等、MCP 対応クライアントなら標準 config が使えます。

Q. --port 8931 は必須ですか? 必須ではありません。スタンドアロン HTTP モードを使うときの 公式例のポート です。

Q. 日本語 UI のサイトも操作できますか? スナップショットはアクセシビリティツリーに基づくため、日本語ラベルも通常は ref 経由で操作可能です。文字化けはスナップショット側より フォント/CSS 側の問題であることが多いです。

Q. Figma MCP と併用できますか? 可能です。デザイン取得は Figma MCP、実装確認は Playwright MCP、という役割分担が現実的です(Figma MCP ガイド)。


関連記事

設定の正本: github.com/microsoft/playwright-mcp / playwright.dev/docs/getting-started-mcp

関連サービス

LINE登録で Claude Code 特典キットを受け取る

スライド自動作成キット・スターターキットを無料プレゼント。友だち登録するだけで受け取れます。

最終確認日: 2026-07-23

関連記事

実践ガイド

Mockを「審判」にする──テスト資産がない既存プロダクトでAI駆動開発を回す方法

AI駆動開発の終了条件は「審判」です。テストが無い既存プロダクトで審判をどう作るか、正解の出所(現行実装・制度・Mock・主観)で場合分けして解説します。審判の検証方法まで含めた実践手順です。

実践ガイド

Mock駆動開発のススメ──AIに実装させる前に、Mockで「正解」を固定する

AIコーディングで最初に壊れるのは実装力ではなく受け入れ基準です。Mockを「絵」ではなく「審判」として使うMock駆動開発の考え方と、既存プロダクトへの入れ方を、実案件の型にもとづいて解説します。

実践ガイド

チケットからマージまで──AI駆動開発の日常ループと多層ゲート

AI駆動開発の型ができた後、毎日どう回すか。チケット→PRD→テストケース/ステート図更新→実装→テスト→マージのループ、速い順に並べる多層品質ゲート、ブランチ戦略を決めずに進む「v2方式」を解説します。

実践ガイド

AIに読ませるドキュメント体系──L0〜L6と「正本ルール」

AIの出力がぶれる原因はモデルではなくコンテキストの不備です。AI駆動開発で整えるべきドキュメントをL0〜L6の7階層に整理し、最初に決めるべき「正本ルール」と、縦に1本通す進め方を解説します。