Skip to main content
Glama

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
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gpaul-faldin/MCP_puppeteer_extra'

If you have feedback or need assistance with the MCP directory API, please join our Discord server