Puppeteer Extra Stealth
About
Enables stealthy web automation with Puppeteer-Extra and Stealth Plugin for navigating websites, capturing screenshots, interacting with elements, and executing JavaScript while avoiding detection as automation.
Details
- Author
- gpaul-faldin
- Repository
- gpaul-faldin/MCP_puppeteer_extra
- GitHub stars
- 1
- Downloads
- 476
- License
- MIT License
- Categories
- Productivity, Design, Developer Tools, AI, Frontend, Infrastructure, Automation
Jump to
- Enhanced browser automation with Puppeteer-Extra
- Stealth mode to avoid bot detection
- Screenshot capabilities for pages and elements
- Console logging and JavaScript execution
- Full suite of interaction methods (click, fill, select, hover)
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Puppeteer Extra StealthCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
MCP_puppeteer_extra
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
npm install
cp .env.example .env.development
bash
docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra
```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), selector (string, optional), width (number, optional, default: 800), height (number, optional, default: 600)
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 field, value (string): Value to fill
puppeteer_select
Select an element with SELECT tag. Inputs: selector (string): CSS selector for element to select, value (string): Value to select
puppeteer_evaluate
Execute JavaScript in the browser console. Input: script (string): JavaScript code to execute
- 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 screenshot
- selector (string, optional): CSS selector for element to screenshot
- width (number, optional, default: 800): Screenshot width
- height (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 field
- value (string): Value to fill
- puppeteer_select
- Select an element with SELECT tag
- Inputs:
- selector (string): CSS selector for element to select
- value (string): Value to select
- puppeteer_evaluate
- Execute JavaScript in the browser console
- Input: script (string): JavaScript code to execute
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"puppeteer extra stealth": {
"env": {},
"args": [
"-y",
"MCP_puppeteer_extra"
],
"shell": false,
"command": "npx"
}
}
}
Linux
{
"env": [],
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer-extra"
],
"shell": false,
"command": "docker"
}
Macos
{
"env": [],
"args": [
"-y",
"MCP_puppeteer_extra"
],
"shell": false,
"command": "npx"
}
Windows
{
"env": [],
"args": [
"/c",
"npx",
"-y",
"MCP_puppeteer_extra"
],
"shell": false,
"command": "cmd"
}
Puppeteer-Extra MCP Server
A Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin. This server enables LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.
Features
- Enhanced browser automation with Puppeteer-Extra
- Stealth mode to avoid bot detection
- Screenshot capabilities for pages and elements
- Console logging and JavaScript execution
- Full suite of interaction methods (click, fill, select, hover)
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 screenshot
- selector (string, optional): CSS selector for element to screenshot
- width (number, optional, default: 800): Screenshot width
- height (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 field
- value (string): Value to fill
- puppeteer_select
- Select an element with SELECT tag
- Inputs:
- selector (string): CSS selector for element to select
- value (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:
1. Console Logs (console://logs)
- Browser console output in text format
- Includes all console messages from the browser
2. Screenshots (screenshot://<name>)
- PNG images of captured screenshots
- Accessible via the screenshot name specified during capture
Development
Installation
# Clone the repository
git clone <repository-url>
cd puppeteer_extra
Install dependencies
npm install
Copy environment file
cp .env.example .env.development
Running Locally
# Development mode (non-headless browser)
npm run dev
Production mode (headless browser)
npm run prod
Building
npm run build
Docker
Building the Docker Image
docker build -t mcp/puppeteer-extra .
Running with Docker
docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra
Configuration for Claude Desktop
Docker
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"]
}
}
}
NPX
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "MCP_puppeteer_extra"]
}
}
}
License
This MCP server is licensed under the MIT License.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





