MCP Catalogs
Home

puppeteer-mcp-server

by sultannaufal·19·Score 42

Self-hosted Puppeteer MCP server with browser automation tools, supporting multiple transports and API key authentication.

browser-automationweb-scrapingdeveloper-tools
6
Forks
0
Open issues
6 mo ago
Last commit
2d ago
Indexed

Overview

The puppeteer-mcp-server provides a comprehensive suite of 16 browser automation tools via the Model Context Protocol. It includes core browser navigation tools, advanced mouse interaction capabilities, and cookie management for authentication handling. The server supports both modern streamable HTTP transport and legacy SSE transport, with API key authentication for security. It's production-ready with Docker support, rate limiting, health monitoring, and comprehensive logging.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Automated web testing and screenshots of web applications
you:Web scraping and data extraction from dynamic websites
you:Automated form filling and UI interaction testing
you:How do I authenticate with the server?
you:What transport protocols are supported?

When to choose this

Choose this server when you need comprehensive browser automation through MCP, especially for scenarios requiring advanced mouse interactions or cookie management for authentication.

When NOT to choose this

Avoid if you need headless-only operations (this provides full browser control) or if you require a managed cloud service rather than self-hosted solution.

Tools this server exposes

12 tools extracted from the README
  • puppeteer_navigate

    Navigate to URLs with safety validation

  • puppeteer_screenshot

    Take full page or element screenshots

  • puppeteer_click

    Click elements with retry logic

  • puppeteer_fill

    Fill input fields with validation

  • puppeteer_select

    Select options from dropdown elements

  • puppeteer_hover

    Hover over elements with effect detection

  • puppeteer_evaluate

    Execute JavaScript with console capture

  • puppeteer_mouse_move

    Precise coordinate movement with smooth interpolation

  • puppeteer_mouse_click

    Advanced clicking with button options (left/right/middle/back/forward)

  • puppeteer_mouse_down

    Mouse button press for drag operations

  • puppeteer_mouse_up

    Mouse button release for drag operations

  • puppeteer_mouse_wheel

    Mouse wheel scrolling with deltaX/deltaY control

Comparable tools

browserless-mcpplaywright-mcpweb-scraper-mcp

Installation

Installation

Using Docker (Recommended)

# Clone the repository
git clone https://github.com/sultannaufal/puppeteer-mcp-server.git
cd puppeteer-mcp-server

# Create .env file with your API key
echo "API_KEY=your-secure-api-key-here" > .env

# Start with Docker Compose
docker compose --env-file .env up -d

Manual Installation

# Prerequisites: Node.js 18+, npm 8+
npm install
npm run build
npm start

Claude Desktop Configuration

Add to your Claude Desktop config.json:

{
  "mcpServers": {
    "puppeteer": {
      "command": "node",
      "args": ["dist/server.js"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

FAQ

How do I authenticate with the server?
All endpoints require Bearer token authentication. Set your API_KEY environment variable and include 'Authorization: Bearer your-api-key' in your requests.
What transport protocols are supported?
The server supports both modern streamable HTTP transport (MCP 2025-06-18 specification) and legacy SSE transport for backward compatibility.

Compare puppeteer-mcp-server with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.