Puppeteer
Provides browser automation using Puppeteer, enabling interaction with web pages, taking screenshots, and executing JavaScript.
Puppeteer
A Model Context Protocol server that provides browser automation capabilities using Puppeteer. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
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 screenshotselector(string, optional): CSS selector for element to screenshotwidth(number, optional, default: 800): Screenshot widthheight(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 fieldvalue(string): Value to fill
-
puppeteer_select
- Select an element with SELECT tag
- Inputs:
selector(string): CSS selector for element to selectvalue(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:
-
Console Logs (
console://logs)- Browser console output in text format
- Includes all console messages from the browser
-
Screenshots (
screenshot://<name>)- PNG images of captured screenshots
- Accessible via the screenshot name specified during capture
Key Features
- Browser automation
- Console log monitoring
- Screenshot capabilities
- JavaScript execution
- Basic web interaction (navigation, clicking, form filling)
Configuration to use Puppeteer Server
Here's the Claude Desktop configuration to use the Puppeter server:
Docker
NOTE The docker implementation will use headless chromium, where as the NPX version will open a browser window.
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"]
}
}
}
NPX
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
Build
Docker build:
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Serveurs connexes
Bright Data
sponsorDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
Website to Markdown MCP Server
Fetches and converts website content to Markdown with AI-powered cleanup, OpenAPI support, and stealth browsing.
Intelligent Crawl4AI Agent
An AI-powered web scraping system for high-volume automation and advanced data extraction strategies.
Docs Fetch MCP Server
Fetch web page content with recursive exploration.
Fetcher MCP
Fetch and extract web content using a Playwright headless browser, with support for intelligent extraction and flexible output.
Fetch MCP Server
Fetches web content from a URL and converts it from HTML to markdown for easier consumption by LLMs.
Urlbox Full Page Screenshots
An MCP server for the Urlbox Screenshot API. It enables your client to take screenshots, generate PDFs, extract HTML/markdown, and more from websites.
WebWatch MCP
Website change monitoring with URL watching, snapshot comparison, and intelligent content extraction for AI assistants
yt-dlp-mcp
Download video and audio from various platforms like YouTube, Facebook, and TikTok using yt-dlp.
MCP Web Scraper
A production-ready web scraping platform with ML-powered automation, browser automation via Playwright, and persistent caching.
GeekNews MCP Server
Fetches and caches daily articles from GeekNews using web scraping.