Skip to main content
Glama

開発者向けAIターミナル「Warp」

MacOS、Linux、Windowsで利用可能

Playwright MCP サーバー 🎭

鍛冶屋のバッジ

Playwrightを用いたブラウザ自動化機能を提供するモデルコンテキストプロトコル(LLM)サーバー。このサーバーにより、LLMはWebページとのインタラクション、スクリーンショットの取得、テストコードの生成、ページのWebスクレイピング、そして実際のブラウザ環境でのJavaScript実行が可能になります。

スクリーンショット

劇作家 + クロード

Related MCP server: Puppeteer MCP Server

ドキュメント| APIリファレンス

インストール

npm、mcp-get、Smithery のいずれかを使用してパッケージをインストールできます。

npm を使用する場合:

npm install -g @executeautomation/playwright-mcp-server

mcp-get の使用:

npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server

鍛冶屋を使う

Smithery経由で Claude Desktop 用の Playwright MCP を自動的にインストールするには:

npx @smithery/cli install @executeautomation/playwright-mcp-server --client claude

VS Codeでのインストール

次のいずれかのボタンを使用して、VS Code に Playwright MCP サーバーをインストールします。

あるいは、VS Code CLI を使用して Playwright MCP サーバーをインストールすることもできます。

# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'

インストール後、ExecuteAutomation Playwright MCP サーバーを VS Code の GitHub Copilot エージェントで使用できるようになります。

Playwright Serverを使用するための設定

Playwright サーバーを使用するための Claude Desktop の構成は次のとおりです。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

テスト

このプロジェクトではテストにJestを使用しています。テストはsrc/__tests__ディレクトリにあります。

テストの実行

次のいずれかのコマンドを使用してテストを実行できます。

# Run tests using the custom script (with coverage)
node run-tests.cjs

# Run tests using npm scripts
npm test           # Run tests without coverage
npm run test:coverage  # Run tests with coverage
npm run test:custom    # Run tests with custom script (same as node run-tests.cjs)

テスト カバレッジ レポートは、 coverageディレクトリに生成されます。

評価の実行

evalsパッケージはmcpクライアントをロードし、index.tsファイルを実行するため、テスト間で再構築する必要はありません。npxコマンドの先頭に環境変数をロードすることもできます。完全なドキュメントはこちらでご覧いただけます。

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools/codegen/index.ts

スターの歴史

星の歴史チャート

Available Tools

31 tools
clear_codegen_sessionC

Clear a code generation session without generating a test

Inputs: sessionId (required).

end_codegen_sessionC

End a code generation session and generate the test file

Inputs: sessionId (required).

get_codegen_sessionC

Get information about a code generation session

Inputs: sessionId (required).

playwright_assert_responseB

Wait for and validate a previously initiated HTTP response wait operation.

Inputs: id (required), value.

playwright_clickC

Click an element on the page

Inputs: selector (required).

playwright_click_and_switch_tabA

Click a link and switch to the newly opened tab

Inputs: selector (required).

playwright_closeB

Close the browser and release all resources

Inputs: no named parameters.

playwright_console_logsC

Retrieve console logs from the browser with filtering options

Inputs: clear, limit, search, type.

playwright_custom_user_agentC

Set a custom User Agent for the browser

Inputs: userAgent (required).

playwright_deleteC

Perform an HTTP DELETE request

Inputs: url (required).

playwright_dragC

Drag an element to a target location

Inputs: sourceSelector (required), targetSelector (required).

playwright_evaluateC

Execute JavaScript in the browser console

Inputs: script (required).

playwright_expect_responseB

Ask Playwright to start waiting for a HTTP response. This tool initiates the wait operation but does not wait for its completion.

Inputs: id (required), url (required).

playwright_fillC

fill out an input field

Inputs: selector (required), value (required).

playwright_getC

Perform an HTTP GET request

Inputs: url (required).

playwright_get_visible_htmlB

Get the HTML content of the current page

Inputs: no named parameters.

playwright_get_visible_textB

Get the visible text content of the current page

Inputs: no named parameters.

playwright_go_backB

Navigate back in browser history

Inputs: no named parameters.

playwright_go_forwardA

Navigate forward in browser history

Inputs: no named parameters.

playwright_hoverC

Hover an element on the page

Inputs: selector (required).

playwright_iframe_clickC

Click an element in an iframe on the page

Inputs: iframeSelector (required), selector (required).

playwright_iframe_fillC

Fill an element in an iframe on the page

Inputs: iframeSelector (required), selector (required), value (required).

playwright_navigateC

Navigate to a URL

Inputs: url (required), browserType, headless, height, +3 more.

playwright_patchC

Perform an HTTP PATCH request

Inputs: url (required), value (required).

playwright_postC

Perform an HTTP POST request

Inputs: url (required), value (required), headers, token.

playwright_press_keyC

Press a keyboard key

Inputs: key (required), selector.

playwright_putC

Perform an HTTP PUT request

Inputs: url (required), value (required).

playwright_save_as_pdfC

Save the current page as a PDF file

Inputs: outputPath (required), filename, format, margin, +1 more.

playwright_screenshotC

Take a screenshot of the current page or a specific element

Inputs: name (required), downloadsDir, fullPage, height, +4 more.

playwright_selectC

Select an element on the page with Select tag

Inputs: selector (required), value (required).

start_codegen_sessionC

Start a new code generation session to record Playwright actions

Inputs: options (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 31 tools

    Disambiguation4/5

    Most tools have distinct purposes, with clear separation between browser actions (e.g., click, fill, navigate), HTTP methods (get, post, put), and code generation sessions. However, some overlap exists between playwright_click and playwright_iframe_click, where the iframe variant is a specialized case rather than a fundamentally different operation, which could cause minor confusion.

    Naming Consistency5/5

    Tool names follow a highly consistent snake_case pattern with clear verb_noun structures. Code generation tools use consistent 'codegen_session' terminology, while Playwright actions consistently start with 'playwright_' followed by descriptive verbs (e.g., playwright_click, playwright_navigate). This predictability makes the set easy to navigate and understand.

    Tool Count3/5

    With 31 tools, the count feels heavy for a Playwright automation server, suggesting potential over-fragmentation. While Playwright is feature-rich, many tools could be consolidated (e.g., separate HTTP methods might be unified into a single playwright_request tool). The number is borderline excessive for typical agent workflows.

    Completeness5/5

    The toolset provides comprehensive coverage for Playwright automation, including navigation, interaction (click, fill, hover), HTTP requests, iframe handling, debugging (logs, screenshots), and code generation. It supports full CRUD-like operations for web testing without obvious gaps, enabling agents to handle complex browser automation tasks end-to-end.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
      32
      13,901 npm
      5,682
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
      19
      Apache 2.0
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Puppeteer, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
      7
      28,579 npm
      1
      MIT