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
Webpage Screenshot MCP Server
ananddtyagiAn MCP that gives your agent the ability to snap a screenshot of webpages. Useful when you want your agent to check its progress during development.
Umut Naci
firecrawlThe API to search, scrape, and interact with the web at scale. π₯
@mendableai/firecrawl Mcp Server
mendableaiThe API to search, scrape, and interact with the web at scale. π₯
browser-use-mcp-server
co-browserBrowse the web, directly from Cursor etc.
browser-mcp
djydeA browser extension and MCP server that allows you to interact with the browser you are using.
Comments