Puppeteer
Enables LLMs to perform browser automation including web navigation, element interaction, and screenshot capture using Puppeteer. It provides capabilities for executing JavaScript in the browser and monitoring console logs for debugging and data extr
What is Puppeteer?
Puppeteer is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to enables llms to perform browser automation including web navigation, element interaction, and screenshot capture using puppeteer. it provides capabilities for executing javascript in the browser and m...
Enables LLMs to perform browser automation including web navigation, element interaction, and screenshot capture using Puppeteer. It provides capabilities for executing JavaScript in the browser and monitoring console logs for debugging and data extr
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Enables LLMs to perform browser automation including web nav
Use Cases
Maintainer
Works with
Installation
NPM
npx -y puppeteer-mcp-serverManual Installation
npx -y puppeteer-mcp-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Puppeteer
The Puppeteer MCP server enables AI assistants to perform real browser automation by connecting to a running Chrome or Chromium instance through Puppeteer. It exposes tools for navigating to URLs, clicking elements, filling forms, selecting dropdowns, hovering, taking screenshots, and executing arbitrary JavaScript in the browser console. Rather than spinning up a new headless browser, it connects to an existing Chrome session with remote debugging enabled, making it useful for automating live sites, extracting dynamic content, and debugging web applications.
Prerequisites
- Node.js 16 or later with npm/npx available
- Google Chrome or Chromium installed on the machine running the server
- An MCP-compatible client such as Claude Desktop or a Cline-compatible editor
- Chrome launched with --remote-debugging-port=9222 before connecting
Install the puppeteer-mcp-server package globally
Install the package globally so the puppeteer-mcp-server binary is available on your PATH.
npm install -g puppeteer-mcp-serverLaunch Chrome with remote debugging enabled
Start Chrome with the remote debugging port flag so the MCP server can connect to your existing browser session.
google-chrome --remote-debugging-port=9222
# On macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222Add the server to your MCP client configuration
Open claude_desktop_config.json and add the puppeteer server block. The command is the global binary name.
{
"mcpServers": {
"puppeteer": {
"command": "puppeteer-mcp-server",
"args": []
}
}
}Restart your MCP client
Quit and relaunch Claude Desktop (or your MCP client) so it picks up the new server entry.
Connect to the active browser tab
In your AI client, ask it to connect to the active Chrome tab. The server will use the puppeteer_connect_active_tab tool to attach to the running Chrome instance on port 9222.
Automate and inspect pages
Once connected, you can navigate, click, fill forms, take screenshots, or run JavaScript. The server tools map directly to Puppeteer API calls.
Puppeteer Examples
Client configuration
Claude Desktop configuration using the globally installed binary. No API keys required.
{
"mcpServers": {
"puppeteer": {
"command": "puppeteer-mcp-server",
"args": []
}
}
}Prompts to try
Example prompts for browser automation tasks using the Puppeteer MCP server.
- "Connect to my active Chrome tab and take a screenshot of the current page"
- "Navigate to https://example.com and click the 'Sign In' button"
- "Fill in the username field with 'testuser' and the password field, then submit the form"
- "Run this JavaScript in the browser console and return the result: document.title"
- "Hover over the dropdown menu in the navigation bar and screenshot the result"
- "Go to the products page and extract all product names from the listing"Troubleshooting Puppeteer
Server cannot connect to Chrome — 'Unable to connect to the browser'
Make sure Chrome is running with --remote-debugging-port=9222 before starting the MCP server. Verify by visiting http://localhost:9222/json in a browser — you should see a JSON list of open tabs.
puppeteer-mcp-server command not found
Ensure the npm global bin directory is on your PATH. Run npm config get prefix to find it, then add <prefix>/bin to your PATH. Alternatively, use npx puppeteer-mcp-server in the args instead.
Screenshots are blank or page interactions have no effect
Confirm you called puppeteer_connect_active_tab first to attach to a specific tab. If Chrome has no open tabs matching the target URL, navigate to the page manually before instructing the AI to interact with it.
Frequently Asked Questions about Puppeteer
What is Puppeteer?
Puppeteer is a Model Context Protocol (MCP) server that enables llms to perform browser automation including web navigation, element interaction, and screenshot capture using puppeteer. it provides capabilities for executing javascript in the browser and monitoring console logs for debugging and data extr It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Puppeteer?
Install via npm with the command: npx -y puppeteer-mcp-server. Then add the server configuration to your AI client's JSON config file (e.g., claude_desktop_config.json or .cursor/mcp.json).
Which AI clients work with Puppeteer?
Puppeteer works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Puppeteer free to use?
Yes, Puppeteer is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
Puppeteer Alternatives — Similar Browser Automation Servers
Looking for alternatives to Puppeteer? 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 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?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.