Puppeteer
@jatidevelopments
About Puppeteer
Advanced Puppeteer automation server with enhanced functionality (MCP Server)
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcp-puppeteer-advanced": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/puppeteer",
"-f",
"Dockerfile",
"."
]
}
}
}Tools
14Navigate 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). 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.
More Browser Automation MCP servers
Playwright MCP Server π
executeautomationPlaywright Model Context Protocol Server - Tool to automate Browsers and APIs in Claude Desktop, Cline, Cursor IDE and More π
playwright-server MCP server
blackwhite084Browser Control MCP
eyalzhMCP server paired with a browser extension that enables AI agents to control the user's browser.
browser-use-mcp-server
co-browserBrowse the web, directly from Cursor etc.

Fetch
modelcontextprotocolModel Context Protocol Servers
Comments