I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

mcp-server-puppeteer-py
3 years
Works with Finder
1
Github Watches
2
Github Forks
4
Github Stars
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
- Install the required packages:
pip install -r requirements.txt
- 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.
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Professional Flask/SQLAlchemy code guide. Follow: https://x.com/navid_re
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.
Mirror ofhttps://github.com/suhail-ak-s/mcp-typesense-server
本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。
Reviews

user_JWSHkddQ
As an avid user of mcp-server-puppeteer-py, I am thoroughly impressed by the reliability and efficiency it provides. Twolven has done an exceptional job creating this tool that integrates seamlessly into my workflow. It's incredibly easy to set up and navigate, making web scraping tasks a breeze. Highly recommend checking it out on GitHub!