Supports interaction with page elements through CSS selectors for targeting specific elements to click, hover, fill, screenshot, or select.
Enables execution of JavaScript code in the browser console through the puppeteer_evaluate tool, with access to console output via resources.
Provides browser automation capabilities allowing interaction with web pages, navigation, element selection, form filling, JavaScript execution, and screenshot capture in a real browser environment.
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.
NPX
Build
Docker build:
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.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A Model Context Protocol server that provides browser automation capabilities using Puppeteer, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to automate web browsers using Puppeteer, allowing navigation, screenshots, form filling, and JavaScript execution in a real browser environment.Last updated -2MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that provides browser automation capabilities using Puppeteer with configurable options through environment variables, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a browser environment.Last updated -74
- -securityAlicense-qualityA Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin, enabling LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.Last updated -2MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.Last updated -318,548MIT License