Puppeteer

Puppeteer

By modelcontextprotocol GitHub

Browser automation and web scraping

browser-automation web-scraping
Overview

what is Puppeteer?

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

how to use Puppeteer?

To use Puppeteer, configure your machine as specified in the provided configuration JSON and interact with the server via its various tools for navigation, screenshots, and web interactions.

key features of Puppeteer?

  • Browser automation for web scraping and interaction
  • Capture screenshots of web pages or individual elements
  • Console log monitoring to track browser activities
  • Execute JavaScript commands in the browser
  • Support for basic interactions like clicking and form filling

use cases of Puppeteer?

  1. Automating data collection from websites for analysis
  2. Testing web applications by simulating user interactions
  3. Taking screenshots for documentation and reporting purposes

FAQ from Puppeteer?

  • What can Puppeteer automate?

Puppeteer can automate various web interactions such as navigation, form filling, and element clicks.

  • Is there any cost to use Puppeteer?

No, Puppeteer is free to use under the MIT License.

  • How do I install Puppeteer?

You can install Puppeteer by running the specified command in the project's configuration setup.

Content

Puppeteer

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

Components

Tools

  • puppeteer_navigate

    • Navigate to any URL in the browser
    • Input: url (string)
  • puppeteer_screenshot

    • Capture screenshots of the entire page or specific elements
    • Inputs:
      • name (string, required): Name for the screenshot
      • selector (string, optional): CSS selector for element to screenshot
      • width (number, optional, default: 800): Screenshot width
      • height (number, optional, default: 600): Screenshot height
  • puppeteer_click

    • Click elements on the page
    • Input: selector (string): CSS selector for element to click
  • puppeteer_hover

    • Hover elements on the page
    • Input: selector (string): CSS selector for element to hover
  • puppeteer_fill

    • Fill out input fields
    • Inputs:
      • selector (string): CSS selector for input field
      • value (string): Value to fill
  • puppeteer_select

    • Select an element with SELECT tag
    • Inputs:
      • selector (string): CSS selector for element to select
      • value (string): Value to select
  • puppeteer_evaluate

    • Execute JavaScript in the browser console
    • Input: script (string): JavaScript code to execute

Resources

The server provides access to two types of resources:

  1. Console Logs (console://logs)

    • Browser console output in text format
    • Includes all console messages from the browser
  2. Screenshots (screenshot://<name>)

    • PNG images of captured screenshots
    • Accessible via the screenshot name specified during capture

Key Features

  • Browser automation
  • Console log monitoring
  • Screenshot capabilities
  • JavaScript execution
  • Basic web interaction (navigation, clicking, form filling)

Configuration to use Puppeteer Server

Here's the Claude Desktop configuration to use the Puppeter server:

Docker

NOTE The docker implementation will use headless chromium, where as the NPX version will open a browser window.

{
  "mcpServers": {
    "puppeteer": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"]
    }
  }
}

NPX

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
    }
  }
}

Build

Docker build:

docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Tools

puppeteer_navigate

Navigate to a URL

puppeteer_screenshot

Take a screenshot of the current page or a specific element

puppeteer_click

Click an element on the page

puppeteer_fill

Fill out an input field

puppeteer_select

Select an element on the page with Select tag

puppeteer_hover

Hover an element on the page

puppeteer_evaluate

Execute JavaScript in the browser console

Model Context Protocol (MCP) Server for Graphlit Platform

web-crawler web-scraping
View Details

Mirror of

browser-automation MCP-server
View Details

Mirror of

browser-automation playwright
View Details

Mirror of

mendableai web-scraping
View Details

This package vendors a subset of [browser-use](

browser-automation mcp-tools
View Details

Mirror of

browser-automation AI-agents
View Details

Automatically create a remote browser to complete your specified tasks, developed based on Browser Use + Sandbox. 自动创建一个远程浏览器,完成你指定的任务,基于Browser Use + Sandbox开发。

browser-automation remote-browser
View Details