MCP.so
登录

Puppeteer MCP Server

@jatidevelopments

基本信息

分类

浏览器自动化

许可证

MIT license

传输方式

stdio

作者

jatidevelopments

关于 Puppeteer MCP Server

Advanced Puppeteer automation server with enhanced functionality (MCP Server)

Puppeteer MCP Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "mcp-puppeteer-advanced": {
      "command": "docker",
      "args": [
        "build",
        "-t",
        "mcp/puppeteer",
        "-f",
        "Dockerfile",
        "."
      ]
    }
  }
}

Puppeteer MCP Server 工具

14

Navigate to any URL in the browser

Capture screenshots of the entire page or specific elements

Click elements on the page

Hover elements on the page

Fill out input fields

Select an element with SELECT tag

Execute JavaScript in the browser console

Extract all images from the page (both `<img>` tags and CSS background images)

Download extracted images to a specified folder

Analyze a DOM element to extract its HTML structure, Markdown representation, and applied styles

Check browser status, list open tabs, and manage tab switching

Analyze the DOM hierarchy of a page and determine parent-child relationships between elements

Switch the browser viewport to simulate different devices (mobile, tablet, desktop)

Navigate back or forward in browser history

概览

What is Puppeteer?

Puppeteer is a Model Context Protocol server that provides browser automation capabilities using Puppeteer. It enables LLMs to interact with web pages, take screenshots, extract and download images, and execute JavaScript in a real browser environment.

How to use Puppeteer?

Configure the server in your MCP client using either Docker (docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer) or NPX (npx -y @modelcontextprotocol/server-puppeteer). Customize Puppeteer’s browser behavior via the PUPPETEER_LAUNCH_OPTIONS environment variable or by passing launchOptions and allowDangerous to the puppeteer_navigate tool.

Key features of Puppeteer

  • Browser automation and console log monitoring
  • Screenshot capture of entire pages or specific elements
  • JavaScript execution in the browser console
  • Web interaction (navigation, clicking, form filling)
  • Image extraction from <img> tags and CSS backgrounds
  • Multi-tab browser management and viewport switching

Use cases of Puppeteer

  • Extract and download all images from a webpage
  • Analyze DOM elements to retrieve HTML, Markdown, and styles
  • Test responsive design by switching viewport presets (mobile, tablet, desktop)
  • Manage multiple browser tabs: open, list, switch, and take actions in each
  • Navigate browser history (back/forward) and execute custom scripts

常见问题

1

What tools does Puppeteer provide?

Puppeteer offers tools for navigation, screenshots, clicking, hovering, form filling, selecting, evaluating JavaScript, extracting/downloading images, analyzing DOM elements and page hierarchy, managing browser tabs, switching viewports, and navigating history.

2

How can I customize browser launch options?

Set the `PUPPETEER_LAUNCH_OPTIONS` environment variable as a JSON-encoded string, or pass `launchOptions` and `allowDangerous` parameters directly to the `puppeteer_navigate` tool.

3

What resources are available?

Two resource types: `console://logs` (browser console output) and `screenshot://<name>` (PNG images of captured screenshots).

4

Can I run Puppeteer in Docker?

Yes. Use the Docker configuration shown in the README. The Docker version runs headless Chromium, while the NPX version opens a browser window.

5

Does Puppeteer support dangerous launch options?

Yes, but they are disabled by default. Set `allowDangerous` to `true` (either in the environment via `ALLOW_DANGEROUS` or in the tool call) to use options like `--no-sandbox` or `--disable-web-security`.

评论

浏览器自动化 分类下的更多 MCP 服务器