MCP.so
Sign In

Puppeteer

@jatidevelopments

About Puppeteer

Advanced Puppeteer automation server with enhanced functionality (MCP Server)

Basic information

Category

Browser Automation

License

MIT license

Runtime

node

Transports

stdio

Publisher

jatidevelopments

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "MCP-Puppeteer-Advanced-Cursor-...-": {
      "command": "docker",
      "args": [
        "build",
        "-t",
        "mcp/puppeteer",
        "-f",
        "Dockerfile",
        "."
      ]
    }
  }
}

Tools

14

Navigate to any URL in the browser

Capture screenshots of the entire page or specific elements

Click elements on the page

Hover elements on the page

Fill out input fields

Select an element with SELECT tag

Execute JavaScript in the browser console

Extract all images from the page (both `<img>` tags and CSS background images)

Download extracted images to a specified folder

Analyze a DOM element to extract its HTML structure, Markdown representation, and applied styles

Check browser status, list open tabs, and manage tab switching

Analyze the DOM hierarchy of a page and determine parent-child relationships between elements

Switch the browser viewport to simulate different devices (mobile, tablet, desktop)

Navigate back or forward in browser history

Overview

What is Puppeteer?

Puppeteer is a Model Context Protocol server that provides browser automation capabilities using Puppeteer. It enables LLMs to interact with web pages, take screenshots, extract and download images, and execute JavaScript in a real browser environment.

How to use Puppeteer?

Configure the server in your MCP client using either Docker (docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer) or NPX (npx -y @modelcontextprotocol/server-puppeteer). Optionally set PUPPETEER_LAUNCH_OPTIONS environment variable or pass launchOptions to puppeteer_navigate to customize browser behavior.

Key features of Puppeteer

  • Browser automation with navigation, clicking, and form filling
  • Screenshot capture of entire pages or specific elements
  • JavaScript execution in the browser console
  • Image extraction from <img> tags and CSS backgrounds
  • Image downloading with automatic filename generation
  • Multi-tab browser management and viewport switching

Use cases of Puppeteer

  • Automated web scraping and data extraction for LLMs
  • Responsive design testing across mobile, tablet, and desktop viewports
  • DOM element analysis for understanding page structure and styles
  • Visual regression testing via screenshot capture
  • Browser history navigation and multi-tab content management

FAQ from Puppeteer

How can I configure Puppeteer server options?

Use either the PUPPETEER_LAUNCH_OPTIONS environment variable with JSON-encoded launch settings, or pass launchOptions and allowDangerous parameters directly to the puppeteer_navigate tool.

What is the difference between Docker and NPX execution?

The Docker implementation uses headless Chromium, while the NPX version opens a visible browser window.

What resources does the server expose?

Console logs at console://logs (browser console output in text format) and screenshots at screenshot://<name> (PNG images of captured screenshots).

What security controls are available?

The allowDangerous parameter (default false) controls whether dangerous Puppeteer launch options like --no-sandbox and --disable-web-security are permitted; setting it to true allows these options.

Comments

More Browser Automation MCP servers