modelcontextprotocol/server-puppeteer logo

modelcontextprotocol/server-puppeteer

Free

官方参考实现,使用 Puppeteer 进行浏览器自动化和网页抓取。

FreeFree tier
Inputs: textOutputs: text, image
Type
Open Source

About modelcontextprotocol/server-puppeteer

A Model Context Protocol (MCP) server that provides browser automation capabilities using Puppeteer. It enables large language models to interact with web pages, take screenshots, and execute JavaScript in a real browser environment. The server includes tools for navigation, clicking, hovering, filling forms, selecting dropdowns, and evaluating JavaScript. It also provides resources for accessing browser console logs and captured screenshots. The server can be configured with custom Puppeteer launch options and supports both headless and headed modes via Docker or NPX.

Key Features

Full browser navigation to any URL
Screenshot capture of full pages or specific elements
Click, hover, fill, and select interactions on web pages
Execute arbitrary JavaScript in the browser console
Access to browser console logs as a resource
Customizable Puppeteer launch options including headless mode
Supports both Docker (headless) and NPX (headed browser) modes
MCP integration for Claude Desktop and other MCP clients

Pros & Cons

Pros
  • Provides a real browser environment for accurate rendering
  • Supports a wide range of browser interactions (navigate, click, hover, fill, evaluate)
  • Access to browser console logs for debugging
  • Customizable launch options to control browser behavior
  • Open source and free to use
  • Integrates seamlessly with MCP clients like Claude Desktop
Cons
  • Archived repository (read-only as of May 2025) – no longer actively maintained
  • Security caution: can access local files and internal IPs if configured inappropriately
  • Allowing dangerous launch options (e.g., --no-sandbox) reduces browser security
  • Requires Puppeteer and a Chromium browser, which can be resource-intensive
  • Limited to capabilities provided by Puppeteer – no support for non-Chromium browsers

Best For

Automated web browsing and navigation tasks for LLMsTaking screenshots of web pages or elements for visual feedbackExtracting or interacting with dynamic web content via JavaScriptDebugging and monitoring browser console logs during automationFilling and submitting forms on behalf of a userTesting web interfaces and user flows

FAQ

What is the Puppeteer MCP server?
It is a Model Context Protocol (MCP) server that allows AI models to control a web browser using Puppeteer, enabling tasks like navigation, screenshot capture, form filling, and JavaScript execution.
How do I configure it with Claude Desktop?
You can configure it in the Claude Desktop MCP servers configuration using either Docker or NPX. For Docker, use the provided configuration with the mcp/puppeteer image. For NPX, use the npx command to run the server.
What security considerations should I be aware of?
The server runs a browser on your machine and can access local files and internal IP addresses. Use caution to avoid exposing sensitive data. Dangerous launch options like --no-sandbox are blocked by default unless you explicitly enable them with allowDangerous.
What resources does the server provide?
It provides two resources: Console Logs (console://logs) which give browser console output in text format, and Screenshots (screenshot://<name>) which are PNG images accessible by the screenshot name.