- Home
- MCP servers
- Puppeteer
Puppeteer
- 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.