MCP ExplorerExplorer

Mcp Puppeteer Extra

@gpaul-faldinon 10 months ago
2 MIT
FreeCommunity
AI Systems
MCP server for browser automation using puppeteer-extra and puppeteer-extra-plugin-stealth

Overview

What is Mcp Puppeteer Extra

MCP_puppeteer_extra is an MCP server designed for browser automation using Puppeteer-Extra and the Stealth Plugin, allowing LLMs to interact with web pages in a human-like manner while avoiding detection as automation.

Use cases

Use cases for MCP_puppeteer_extra include automating form submissions, capturing screenshots of web pages, executing JavaScript for dynamic content manipulation, and simulating user interactions for testing purposes.

How to use

To use MCP_puppeteer_extra, clone the repository, install dependencies, and run the server in either development or production mode. You can also run it using Docker or NPX for easier deployment.

Key features

Key features include enhanced browser automation, stealth mode to avoid bot detection, screenshot capabilities, console logging, JavaScript execution, and a full suite of interaction methods such as click, fill, select, and hover.

Where to use

MCP_puppeteer_extra can be used in various fields including web scraping, automated testing, data extraction, and any application requiring interaction with web pages in a stealthy manner.

Content

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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers