Puppeteer

Provides browser automation via Playwright in a Python MCP server to control pages, interact with elements, capture screenshots, and run JavaScript.
  • python

2

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "mcp-mirror-twolven_mcp-server-puppeteer-py": {
      "command": "python",
      "args": [
        "puppeteer_server.py"
      ]
    }
  }
}

You run a Python MCP Server that exposes browser automation capabilities through Playwright, letting you drive real browsers from your MCP client to navigate pages, take screenshots, fill forms, execute JavaScript, and capture console output for debugging and data collection.

How to use

You interact with the Puppeteer MCP Server by starting the local server and issuing commands from your MCP client. The server runs a real browser session you can navigate, interact with elements, capture screenshots, and evaluate JavaScript. Timeouts are configurable so you can tailor responsiveness to your workload.

Typical usage patterns include navigating to a URL, waiting for elements, taking screenshots (entire pages or specific selectors), clicking elements, filling inputs, and evaluating scripts to read page state. The server captures console output for debugging and can operate with a visible browser window to aid troubleshooting.

How to install

Prerequisites you need before running the server are Python 3.8 or newer and a working pip installation.

# Install Python dependencies
pip install -r requirements.txt

# Install Playwright browsers (heads up: this is required for browser automation)
playwright install

Configuration and starting the server

Start the server directly from your environment. The server file is typically named puppeteer_server.py and is executed with Python.

python puppeteer_server.py

If you are configuring Claude Desktop to use this MCP server, specify the MCP connection in your configuration as shown here. This tells Claude to run the Python server you started above.

{
  "mcpServers": {
    "puppeteer": {
      "command": "python",
      "args": ["puppeteer_server.py"]
    }
  }
}

Notes and behavior

The server launches the browser in non-headless mode to aid debugging, with a default viewport of 1280x720. All timeouts are configurable to fit your needs, and console logs from the browser are captured for inspection. Screenshots are stored in memory as base64-encoded data.

Available actions include navigating, taking screenshots, clicking, filling inputs, and evaluating JavaScript in the page context. Each action is designed to surface clear error messages for common problems like navigation failures, missing elements, timeouts, or script errors.

Available tools

puppeteer_navigate

Navigate the browser to a specified URL with an optional timeout.

puppeteer_screenshot

Capture a screenshot of the full page or a specific element identified by a selector, with optional dimensions and timeout.

puppeteer_click

Click an element identified by a selector, with an optional timeout.

puppeteer_fill

Fill an input field identified by a selector with the provided value, with an optional timeout.

puppeteer_evaluate

Execute a JavaScript snippet in the page context and return the result, with an optional timeout.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational