A Model Context Protocol server that provides browser automation capabilities using Playwright
15 stars1 watching2 forks
<h1 align="center">MCP Server Playwright</h1> <p align="center"> <a href="https://www.automatalabs.io"><img alt="MCP Playwright" src="https://automatalabs.io/icon.svg" height="250"/></a> </p> <p align="center"> <b>A Model Context Protocol server that provides browser automation capabilities using Playwright</b></br> <sub>Enable LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment</sub> </p> <p align="center"> <a href="https://www.npmjs.com/package/@automatalabs/mcp-server-playwright"><img alt="NPM Version" src="https://img.shields.io/npm/v/@automatalabs/mcp-server-playwright.svg" height="20"/></a> <a href="https://npmcharts.com/compare/@automatalabs/mcp-server-playwright?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/@automatalabs/mcp-server-playwright.svg" height="20"/></a> <a href="https://github.com/Automata-Labs-team/MCP-Server-Playwright/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/Automata-Labs-team/MCP-Server-Playwright.svg" height="20"/></a> </p>

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

npx playwright install
npm install -g @automatalabs/mcp-server-playwright

Configuration

To use the Playwright server with Claude Desktop, add the following configuration:

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

Components

Tools

playwright_navigate

Navigate to any URL in the browser

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

playwright_screenshot

Capture screenshots of the entire page or specific elements

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

playwright_click

Click elements on the page using CSS selector

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

playwright_click_text

Click elements on the page by their text content

{
  "text": "Click me"
}

playwright_hover

Hover over elements on the page using CSS selector

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

playwright_hover_text

Hover over elements on the page by their text content

{
  "text": "Hover me"
}

playwright_fill

Fill out input fields

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

playwright_select

Select an option in a SELECT element using CSS selector

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

playwright_select_text

Select an option in a SELECT element by its text content

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

playwright_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://<name>)

    • 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.

Features

automation
screenshots
interaction
monitoring
scripting

Category

Browser Automation