Puppeteer Py
MCP server providing browser automation via Playwright (Python), enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser.
What is Puppeteer Py?
Puppeteer Py is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to mcp server providing browser automation via playwright (python), enabling llms to interact with web pages, take screenshots, and execute javascript in a real browser.
MCP server providing browser automation via Playwright (Python), enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser.
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- MCP server providing browser automation via Playwright (Pyth
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx puppeteer-pyConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Puppeteer Py
Puppeteer Py is a Python-based MCP server that provides browser automation capabilities to LLMs using Playwright, the Python equivalent of Puppeteer. It enables AI agents to navigate to URLs, take full-page or element-level screenshots, click buttons, fill forms, and execute arbitrary JavaScript in a real browser — all through structured MCP tool calls. This server is a more stable alternative to the TypeScript Puppeteer MCP, featuring detailed error handling, configurable timeouts, and comprehensive logging for debugging complex automation workflows.
Prerequisites
- Python 3.8 or later
- pip for package installation
- Playwright browsers installed via the playwright CLI
- An MCP-compatible client such as Claude Desktop
Clone the repository
Clone the mcp-server-puppeteer-py repository from GitHub.
git clone https://github.com/twolven/mcp-server-puppeteer-py.git
cd mcp-server-puppeteer-pyInstall Python dependencies
Install required packages including the Playwright Python library.
pip install -r requirements.txtInstall Playwright browser binaries
Download the Chromium (and optionally Firefox/WebKit) browser binaries that Playwright uses to automate browser sessions.
playwright installTest the server manually
Run the server directly to confirm it starts without errors before wiring it into your MCP client.
python puppeteer_server.pyConfigure your MCP client
Add the server to your Claude Desktop or other MCP client configuration, pointing args to the absolute path of puppeteer_server.py on your machine.
{
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["/absolute/path/to/mcp-server-puppeteer-py/puppeteer_server.py"]
}
}
}Puppeteer Py Examples
Client configuration
Claude Desktop configuration for the Puppeteer Py MCP server using a local Python installation.
{
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["/Users/yourname/mcp-server-puppeteer-py/puppeteer_server.py"]
}
}
}Prompts to try
Example prompts for browser automation tasks once the server is connected.
- "Navigate to https://example.com and take a full-page screenshot"
- "Go to the login page at https://app.example.com/login, fill in the email field with [email protected] and click the submit button"
- "Open https://news.ycombinator.com and execute JavaScript to get the titles of all top stories"
- "Take a screenshot of just the #header element on the current page"
- "Navigate to https://example.com/form and fill in the form fields, then capture the result"Troubleshooting Puppeteer Py
playwright install fails or browsers don't launch
Run 'playwright install --with-deps' to also install the OS-level dependencies Playwright needs. On Linux you may need additional system packages. On macOS make sure Xcode Command Line Tools are installed.
Navigation timeout errors when visiting certain pages
The default navigation timeout is 60,000 ms. For slow pages, pass a higher timeout value explicitly in the puppeteer_navigate tool call. Also verify you have a working internet connection and the target URL is reachable.
Element not found errors when clicking or filling forms
The CSS selector or element ID you specified may not exist on the page, or the page may still be loading when the click is attempted. Use puppeteer_screenshot first to visually verify the page state, then adjust your selector accordingly.
Frequently Asked Questions about Puppeteer Py
What is Puppeteer Py?
Puppeteer Py is a Model Context Protocol (MCP) server that mcp server providing browser automation via playwright (python), enabling llms to interact with web pages, take screenshots, and execute javascript in a real browser. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Puppeteer Py?
Follow the installation instructions on the Puppeteer Py GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Puppeteer Py?
Puppeteer Py works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Puppeteer Py free to use?
Yes, Puppeteer Py is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.
Puppeteer Py Alternatives — Similar Browser Automation Servers
Looking for alternatives to Puppeteer Py? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
Browse More Browser Automation MCP Servers
Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Puppeteer Py in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Puppeteer Py?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.