MCP.so
Sign In
Servers

Puppeteer

@jatidevelopments

Advanced Puppeteer automation server with enhanced functionality (MCP Server)

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). Customize Puppeteer’s browser behavior via the PUPPETEER_LAUNCH_OPTIONS environment variable or by passing launchOptions and allowDangerous to the puppeteer_navigate tool.

Key features of Puppeteer

  • Browser automation and console log monitoring
  • Screenshot capture of entire pages or specific elements
  • JavaScript execution in the browser console
  • Web interaction (navigation, clicking, form filling)
  • Image extraction from <img> tags and CSS backgrounds
  • Multi-tab browser management and viewport switching

Use cases of Puppeteer

  • Extract and download all images from a webpage
  • Analyze DOM elements to retrieve HTML, Markdown, and styles
  • Test responsive design by switching viewport presets (mobile, tablet, desktop)
  • Manage multiple browser tabs: open, list, switch, and take actions in each
  • Navigate browser history (back/forward) and execute custom scripts

FAQ from Puppeteer

What tools does Puppeteer provide?

Puppeteer offers tools for navigation, screenshots, clicking, hovering, form filling, selecting, evaluating JavaScript, extracting/downloading images, analyzing DOM elements and page hierarchy, managing browser tabs, switching viewports, and navigating history.

How can I customize browser launch options?

Set the PUPPETEER_LAUNCH_OPTIONS environment variable as a JSON-encoded string, or pass launchOptions and allowDangerous parameters directly to the puppeteer_navigate tool.

What resources are available?

Two resource types: console://logs (browser console output) and screenshot://<name> (PNG images of captured screenshots).

Can I run Puppeteer in Docker?

Yes. Use the Docker configuration shown in the README. The Docker version runs headless Chromium, while the NPX version opens a browser window.

Does Puppeteer support dangerous launch options?

Yes, but they are disabled by default. Set allowDangerous to true (either in the environment via ALLOW_DANGEROUS or in the tool call) to use options like --no-sandbox or --disable-web-security.

Tags

More from Browser Automation