Home / MCP / Scrape Copilot MCP Server
Provides browser automation and web interaction via Puppeteer for LLMs to navigate pages, take screenshots, and run JavaScript.
Configuration
View docs{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer"
],
"env": {
"DOCKER_CONTAINER": "true"
}
}
}
}You can run a Puppeteer-based MCP Server that exposes browser automation capabilities to enable LLMs to navigate web pages, take screenshots, click elements, fill forms, and run JavaScript in a real browser environment. This server exposes a set of practical tools you can invoke from your MCP Client to automate web tasks safely and reproducibly.
To use this server, connect your MCP Client to either the Docker-based runtime or the NPX-based runtime. You will access a set of browser-automation tools that let you navigate to URLs, capture screenshots, interact with page elements, and execute JavaScript in the browser. The two main tools you leverage are for navigation and interaction, plus utilities to inspect results via console logs and screenshots.
Core tools you will use include navigational, interaction, and evaluation capabilities. The common pattern is to issue a command to the corresponding tool with the required inputs, then inspect the results through browser console output or captured screenshots.
Prerequisites: you need Docker or Node with NPX installed, depending on your preferred runtime.
Install and run using Docker (headless Chromium): copy the following command sequence and execute it in your terminal.
Build the Docker image for the Puppeteer MCP server if you prefer a containerized runtime.
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .Navigate to a URL in the browser. Input: url (string)
Capture screenshots of the entire page or a specific element. Inputs: name (string, required), selector (string, optional), width (number, optional, default 800), height (number, optional, default 600)
Click elements on the page. Input: selector (string)
Hover elements on the page. Input: selector (string)
Fill out input fields. Inputs: selector (string), value (string)
Select an element with SELECT tag. Inputs: selector (string), value (string)
Execute JavaScript in the browser console. Input: script (string)