T
twolven/mcp-server-puppeteer-py
Browser automation with Playwright in Python
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
We have neither an install command nor a public remote endpoint from this repository, so we do not print a config. A made-up one is worse than none. How each client wires MCP up →
- Source
- collected from the abordage/awesome-mcp list · type: MCP server
- Harvest history
- first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
- Score
- score 1,003 · 10 sources · mcp
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.
# Puppeteer MCP Server (Python Implementation)
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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:
bash
pip install -r requirements.txt
2. Install Playwright browsers:
bash
playwright install
## Usage
### Starting the Server
Run the server directly:
bash
python puppeteerserver.py
### Claude Desktop Configuration
Add this to your Claude configuration file:
json
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["path/to/puppeteer.py"]
## Available Tools
### puppeteernavigate
Navigate to any URL in the browser.
json
"name": "puppeteernavigate",
"arguments": {
"url": "https://example.com",
"timeout": 60000 // optional, defaults to 60000ms
### puppeteerscreenshot
Capture screenshots of the entire page or specific elements.
json
"name": "puppeteerscreenshot",
"arguments": {
"name": "myscreenshot",
"selector": "#specific-element", // optional
"width": 1280, // optional, default: 1280
"height": 720, // optional, default: 720
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerclick
Click elements on the page.
json
"name": "puppeteerclick",
"arguments": {
"selector": ".button-class",
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerfill
Fill out input fields.
json
"name": "puppeteerfill",
"arguments": {
"selector": "#input-id",
"value": "text to fill",
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerevaluate
Execute JavaScript in the browser console.
json
"name": "puppeteerevaluate",
"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
## 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:
bash
pip install -r requirements.txt
2. Install Playwright browsers:
bash
playwright install
## Usage
### Starting the Server
Run the server directly:
bash
python puppeteerserver.py
### Claude Desktop Configuration
Add this to your Claude configuration file:
json
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["path/to/puppeteer.py"]
## Available Tools
### puppeteernavigate
Navigate to any URL in the browser.
json
"name": "puppeteernavigate",
"arguments": {
"url": "https://example.com",
"timeout": 60000 // optional, defaults to 60000ms
### puppeteerscreenshot
Capture screenshots of the entire page or specific elements.
json
"name": "puppeteerscreenshot",
"arguments": {
"name": "myscreenshot",
"selector": "#specific-element", // optional
"width": 1280, // optional, default: 1280
"height": 720, // optional, default: 720
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerclick
Click elements on the page.
json
"name": "puppeteerclick",
"arguments": {
"selector": ".button-class",
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerfill
Fill out input fields.
json
"name": "puppeteerfill",
"arguments": {
"selector": "#input-id",
"value": "text to fill",
"timeout": 30000 // optional, defaults to 30000ms
### puppeteerevaluate
Execute JavaScript in the browser console.
json
"name": "puppeteerevaluate",
"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
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/twolven-mcp-server-puppeteer-py/)
- Source
- awesome · https://github.com/twolven/mcp-server-puppeteer-py
- Browse by field
- MCP servers
- Listed by
- 10 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.