Overview
Puppeteer is a Model Context Protocol server that provides browser automation capabilities using Puppeteer. It enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
To use Puppeteer, configure it via Docker or NPX, and then utilize its various tools to navigate, take screenshots, click elements, and execute JavaScript in the browser.
- Browser automation - Console log monitoring - Screenshot capabilities - JavaScript execution - Basic web interaction (navigation, clicking, form filling)
- Automating web testing and interactions.
- Taking screenshots of web pages for documentation.
- Executing JavaScript for data extraction from web pages.
Add to your AI client
Use these steps to connect Puppeteer in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-puppeteer-server-rotexhawk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-puppeteer-server-rotexhawk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-puppeteer-server-rotexhawk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-puppeteer-server-rotexhawk": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-puppeteer-server-rotexhawk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-puppeteer-server-rotexhawk": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-puppeteer-server-rotexhawk"
]
}
}
}FAQ
Can Puppeteer automate any website?
Yes! Puppeteer can automate interactions with most websites, provided they are accessible.
Is Puppeteer free to use?
Yes! Puppeteer is open-source and free to use under the MIT License.
What are the system requirements for using Puppeteer?
Puppeteer requires a system that can run Docker or Node.js for NPX.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1398,"uuid":"0dae9f45-ce95-4136-9bf9-440d003c153b","name":"Mcp-Puppeteer-Server","title":"Puppeteer","description":"MCP Puppeteer Server HomeAssistant Add-on","avatar_url":"https://avatars.githubusercontent.com/u/12015105?v=4","created_at":"2025-02-20T15:37:23.610Z","updated_at":"2025-02-23T07:21:39.202Z","status":"created","author_name":"rotexhawk","author_avatar_url":"https://avatars.githubusercontent.com/u/12015105?v=4","tags":"puppeteer,browser-automation,home-assistant","category":"browser-automation","is_featured":false,"sort":1,"url":"https://github.com/rotexhawk/Mcp-Puppeteer-Server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]