Skip to main content
Glama

Puppeteer-Extra MCP Server

README.md3.13 kB
# 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 ```bash # Clone the repository git clone <repository-url> cd puppeteer_extra # Install dependencies npm install # Copy environment file cp .env.example .env.development ``` ### Running Locally ```bash # Development mode (non-headless browser) npm run dev # Production mode (headless browser) npm run prod ``` ### Building ```bash npm run build ``` ## Docker ### Building the Docker Image ```bash docker build -t mcp/puppeteer-extra . ``` ### Running with Docker ```bash docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra ``` ## Configuration for Claude Desktop ### Docker ```json { "mcpServers": { "puppeteer": { "command": "docker", "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"] } } } ``` ### NPX ```json { "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "MCP_puppeteer_extra"] } } } ``` ## License This MCP server is licensed under the MIT License.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gpaul-faldin/MCP_puppeteer_extra'

If you have feedback or need assistance with the MCP directory API, please join our Discord server