Related MCP Server Resources

Explore more AI models, providers, and integration options:

  • Explore AI Models
  • Explore AI Providers
  • Explore MCP Servers
  • LangDB Pricing
  • Documentation
  • AI Industry Blog
  • Steel Puppeteer
  • Gemini MCP Image Generation Server
  • MCP Server for ArangoDB
  • Chrome Debug MCP Server
  • TxtAi Memory Vector Server
Back to MCP Servers
Puppeteer MCP Server

Puppeteer MCP Server

Public
twolven/mcp-server-puppeteer-py

A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.

Verified
python
0 tools
May 29, 2025
Updated May 30, 2025

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.

{ "name": "puppeteer_navigate", "arguments": { "url": "https://example.com", "timeout": 60000 // optional, defaults to 60000ms } }

puppeteer_screenshot

Capture screenshots of the entire page or specific elements.

{ "name": "puppeteer_screenshot", "arguments": { "name": "my_screenshot", "selector": "#specific-element", // optional "width": 1280, // optional, default: 1280 "height": 720, // optional, default: 720 "timeout": 30000 // optional, defaults to 30000ms } }

puppeteer_click

Click elements on the page.

{ "name": "puppeteer_click", "arguments": { "selector": ".button-class", "timeout": 30000 // optional, defaults to 30000ms } }

puppeteer_fill

Fill out input fields.

{ "name": "puppeteer_fill", "arguments": { "selector": "#input-id", "value": "text to fill", "timeout": 30000 // optional, defaults to 30000ms } }

puppeteer_evaluate

Execute JavaScript in the browser console.

{ "name": "puppeteer_evaluate", "arguments": { "script": "document.title", "timeout": 30000 // optional, defaults to 30000ms } }

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.

Publicly Shared Threads0

Discover shared experiences

Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!

Share your threads to help others
Related MCPs5
  • Steel Puppeteer
    Steel Puppeteer

    A Model Context Protocol server that enables LLMs to automate web browsers using Puppeteer, allowing...

    Added May 30, 2025
  • Gemini MCP Image Generation Server
    Gemini MCP Image Generation Server

    A Model Context Protocol server that provides image generation capabilities using Google's Gemini 2 ...

    1 tools
    Added May 30, 2025
  • MCP Server for ArangoDB
    MCP Server for ArangoDB

    A TypeScript-based server to interact with ArangoDB using the Model Context Protocol, enabling datab...

    7 tools
    Added May 30, 2025
  • Chrome Debug MCP Server
    Chrome Debug MCP Server

    Controls Chrome browser with debugging capabilities, allowing page automation, extension management,...

    13 tools
    Added May 30, 2025
  • TxtAi Memory Vector Server
    TxtAi Memory Vector Server

    Model Context Protocol (MCP) server implementation for semantic search and memory management using T...

    Added May 30, 2025