MCP_puppeteer_extra
gpaul-faldin/MCP_puppeteer_extraUpdated 21 days ago01

Remote#Puppeteer#Stealth Plugin#Browser AutomationLicense: MIT LicenseLanguage: TypeScript

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.

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Run locally with the following command:
Terminal
Add the following config to your client:
JSON
{
  "mcpServers": {
    "puppeteer": {
      "env": {},
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "mcp/puppeteer-extra"
      ],
      "command": "docker"
    }
  }
}

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord