Home / MCP / Puppeteer-Extra MCP Server
MCP server for browser automation using puppeteer-extra and puppeteer-extra-plugin-stealth
Configuration
View docs{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer-extra"
],
"env": {
"DOCKER_CONTAINER": "true"
}
}
}
}This MCP server enables enhanced browser automation through Puppeteer-Extra with Stealth capabilities, giving you browser interactions that resemble human activity. It exposes a set of tools for navigating pages, taking screenshots, clicking, filling forms, and evaluating scripts, with options to log console output and run in both headless and non-headless modes.
You interact with the Puppeteer-Extra MCP server through an MCP client by selecting a tool and providing the required inputs. Common workflows include navigating to a URL, taking full-page or element screenshots, clicking or hovering over elements, filling input fields, selecting options, and evaluating JavaScript in the page context. Use console logs to inspect browser messages and retrieve screenshots from the dedicated screenshot resources.
Prerequisites you need before running the server include Node.js and Docker. Ensure you have a working Node environment and Docker installed on your machine.
Step 1: Clone the project and navigate to its directory.
git clone <repository-url>
cd puppeteer_extraStep 2: Install dependencies locally.
npm installStep 3: Copy the environment file for development settings.
cp .env.example .env.developmentStep 4: Run in development mode (non-headless browser) or production mode (headless browser) as needed.
npm run dev
# or
npm run prodStep 5: Build the project for production if you plan to publish the container image.
npm run buildIf you prefer running the MCP server inside Docker, build and run the image with Docker using the following commands.
docker build -t mcp/puppeteer-extra .
```
```
docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extraYou can configure a Claude Desktop MPC client to connect to the server using either Docker-based or NPX-based commands.
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"]
}
}
}Alternatively, you can run the server via NPX if you prefer not to build a Docker image.
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "MCP_puppeteer_extra"]
}
}
}Navigate to a URL in the browser context.
Capture a screenshot of the full page or a specific element, with optional width and height.
Click an element identified by a CSS selector.
Hover over an element identified by a CSS selector.
Fill an input field identified by a CSS selector with a value.
Select an option in a SELECT tag by value.
Execute JavaScript in the browser console context.