MCP-Server-Playwright

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows execution of JavaScript in the browser environment via the browser_evaluate tool

  • Supports macOS as a compatible operating system with specific configuration paths

Table of Contents

Features

  • 🌐 Full browser automation capabilities
  • πŸ“Έ Screenshot capture of entire pages or specific elements
  • πŸ–±οΈ Comprehensive web interaction (navigation, clicking, form filling)
  • πŸ“Š Console log monitoring
  • πŸ”§ JavaScript execution in browser context

Installation

Installing via Smithery

To install MCP Server Playwright for Claude Desktop automatically via Smithery:

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

You can install the package using either npx or mcp-get:

Using npx:

npx @automatalabs/mcp-server-playwright install

This command will:

  1. Check your operating system compatibility (Windows/macOS)
  2. Create or update the Claude configuration file
  3. Configure the Playwright server integration

The configuration file will be automatically created/updated at:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Using mcp-get:

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

Configuration

The installation process will automatically add the following configuration to your Claude config file:

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

Components

Tools

browser_navigate

Navigate to any URL in the browser

{ "url": "https://stealthbrowser.cloud" }

browser_screenshot

Capture screenshots of the entire page or specific elements

{ "name": "screenshot-name", // required "selector": "#element-id", // optional "fullPage": true // optional, default: false }

browser_click

Click elements on the page using CSS selector

{ "selector": "#button-id" }

browser_click_text

Click elements on the page by their text content

{ "text": "Click me" }

browser_hover

Hover over elements on the page using CSS selector

{ "selector": "#menu-item" }

browser_hover_text

Hover over elements on the page by their text content

{ "text": "Hover me" }

browser_fill

Fill out input fields

{ "selector": "#input-field", "value": "Hello World" }

browser_select

Select an option in a SELECT element using CSS selector

{ "selector": "#dropdown", "value": "option-value" }

browser_select_text

Select an option in a SELECT element by its text content

{ "text": "Choose me", "value": "option-value" }

browser_evaluate

Execute JavaScript in the browser console

{ "script": "document.title" }

Resources

  1. Console Logs (console://logs)
    • Access browser console output in text format
    • Includes all console messages from the browser
  2. Screenshots (screenshot://<n>)
    • Access PNG images of captured screenshots
    • Referenced by the name specified during capture

License

This project is licensed under the MIT License - see the LICENSE file for details.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment

  1. Features
    1. Installation
      1. Installing via Smithery
    2. Configuration
      1. Components
        1. Tools
        2. Resources
      2. License