MCP ExplorerExplorer

Mcp Server Puppeteer Py

@twolvenon a year ago
8 Apache-2.0
FreeCommunity
AI Systems
The mcp-server-puppeteer-py is a Python-based Model Context Protocol server that provides robust browser automation using Playwright. It enables LLMs to navigate web pages, capture screenshots, execute JavaScript, and monitor console logs, all with improved error handling and logging features.

Overview

What is Mcp Server Puppeteer Py

mcp-server-puppeteer-py is a Model Context Protocol server implemented in Python that provides browser automation capabilities using Playwright, allowing LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.

Use cases

Use cases for mcp-server-puppeteer-py include automating web testing, scraping web data, taking screenshots for documentation, and executing JavaScript for dynamic content manipulation.

How to use

To use mcp-server-puppeteer-py, install the required packages using ‘pip install -r requirements.txt’ and install Playwright browsers with ‘playwright install’. Start the server by running ‘python puppeteer_server.py’. Configure it in your Claude configuration file to enable communication.

Key features

Key features include full browser automation, page navigation, screenshot capture, form interaction, JavaScript execution, console log monitoring, configurable timeouts, detailed error handling, and comprehensive logging.

Where to use

undefined

Content

Puppeteer MCP Server (Python Implementation)

A Model Context Protocol server that provides browser automation capabilities using Playwright (Python’s equivalent to Puppeteer). This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.

Overview

This Python implementation provides a stable alternative to the TypeScript version, offering the same capabilities with improved error handling and logging. It uses Playwright, which is the Python equivalent to Puppeteer, providing robust browser automation capabilities.

Key Features

  • Full browser automation
  • Page navigation
  • Screenshot capture (full page or elements)
  • Form interaction (clicking and filling)
  • JavaScript execution
  • Console log monitoring
  • Configurable timeouts
  • Detailed error handling
  • Comprehensive logging

Prerequisites

  • Python 3.8+
  • pip (Python package installer)

Installation

  1. Install the required packages:
pip install -r requirements.txt
  1. Install Playwright browsers:
playwright install

Usage

Starting the Server

Run the server directly:

python puppeteer_server.py

Claude Desktop Configuration

Add this to your Claude configuration file:

{
  "mcpServers": {
    "puppeteer": {
      "command": "python",
      "args": [
        "path/to/puppeteer.py"
      ]
    }
  }
}

Available Tools

puppeteer_navigate

Navigate to any URL in the browser.

puppeteer_screenshot

Capture screenshots of the entire page or specific elements.

puppeteer_click

Click elements on the page.

puppeteer_fill

Fill out input fields.

puppeteer_evaluate

Execute JavaScript in the browser console.

Error Handling

The server provides detailed error messages for common scenarios:

  • Navigation failures
  • Element not found
  • Timeout errors
  • JavaScript execution errors
  • Screenshot failures

Logging

Comprehensive logging is implemented with different levels:

  • INFO: Standard operations
  • ERROR: Operation failures
  • DEBUG: Detailed execution information

Notes

  • Browser launches in non-headless mode for better debugging
  • Default viewport size is 1280x720
  • All timeouts are configurable
  • Console logs are captured and stored
  • Screenshots are stored in memory with base64 encoding

Contributing

Contributions are welcome! Please read the repository’s contributing guidelines before submitting pull requests.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers