Puppeteer-Extra MCP Server

Puppeteer-Extra MCP Server

A Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin. This server enables LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.

Features

  • Enhanced browser automation with Puppeteer-Extra
  • Stealth mode to avoid bot detection
  • Screenshot capabilities for pages and elements
  • Console logging and JavaScript execution
  • Full suite of interaction methods (click, fill, select, hover)

Components

Tools

  • puppeteer_navigate
    • Navigate to any URL in the browser
    • Input: url (string)
  • puppeteer_screenshot
    • Capture screenshots of the entire page or specific elements
    • Inputs:
      • name (string, required): Name for the screenshot
      • selector (string, optional): CSS selector for element to screenshot
      • width (number, optional, default: 800): Screenshot width
      • height (number, optional, default: 600): Screenshot height
  • puppeteer_click
    • Click elements on the page
    • Input: selector (string): CSS selector for element to click
  • puppeteer_hover
    • Hover elements on the page
    • Input: selector (string): CSS selector for element to hover
  • puppeteer_fill
    • Fill out input fields
    • Inputs:
      • selector (string): CSS selector for input field
      • value (string): Value to fill
  • puppeteer_select
    • Select an element with SELECT tag
    • Inputs:
      • selector (string): CSS selector for element to select
      • value (string): Value to select
  • puppeteer_evaluate
    • Execute JavaScript in the browser console
    • Input: script (string): JavaScript code to execute

Resources

The server provides access to two types of resources:

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

Development

Installation

# Clone the repository git clone <repository-url> cd puppeteer_extra # Install dependencies npm install # Copy environment file cp .env.example .env.development

Running Locally

# Development mode (non-headless browser) npm run dev # Production mode (headless browser) npm run prod

Building

npm run build

Docker

Building the Docker Image

docker build -t mcp/puppeteer-extra .

Running with Docker

docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra

Configuration for Claude Desktop

Docker

{ "mcpServers": { "puppeteer": { "command": "docker", "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"] } } }

NPX

{ "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "MCP_puppeteer_extra"] } } }

License

This MCP server is licensed under the MIT License.

-
security - not tested
-
license - not tested
-
quality - not tested

A Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin, enabling LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.

  1. Features
    1. Components
      1. Tools
      2. Resources
    2. Development
      1. Installation
      2. Running Locally
      3. Building
    3. Docker
      1. Building the Docker Image
      2. Running with Docker
    4. Configuration for Claude Desktop
      1. Docker
      2. NPX
    5. License
      ID: 3zxm1hkgnw