---
title: "Puppeteer MCP Server for ToolPiper · ModelPiper"
description: "Headless browser automation and web scraping. Give the assistant a real Chromium to drive. Seven tools map to standard Puppeteer operations: `puppeteer_navigate`, `puppeteer_screenshot`, `puppeteer_click`, `puppeteer_hov"
canonical: "https://modelpiper.com/mcp-tools/puppeteer"
---

# Puppeteer MCP Server for ToolPiper · ModelPiper

> Headless browser automation and web scraping. Give the assistant a real Chromium to drive. Seven tools map to standard Puppeteer operations: `puppeteer_navigate`, `puppeteer_screenshot`, `puppeteer_click`, `puppeteer_hov

P

# Puppeteer MCP Server

✓ verified

Headless browser automation and web scraping.

Install Puppeteer in ToolPiper

Don't have ToolPiper? We'll take you to the download.

[Open repository →](https://github.com/modelcontextprotocol/servers-archived/tree/main/src/puppeteer)

Publisher

[Anthropic Reference (archived)](https://github.com/modelcontextprotocol/servers-archived)

License

MIT

Transport

Local subprocess

Tools

5

## What this server does

Give the assistant a real Chromium to drive. Seven tools map to standard Puppeteer operations: \`puppeteer\_navigate\`, \`puppeteer\_screenshot\`, \`puppeteer\_click\`, \`puppeteer\_hover\`, \`puppeteer\_fill\`, \`puppeteer\_select\`, and \`puppeteer\_evaluate\`. The last one runs arbitrary JavaScript in the page context, which is where most of the security thinking lives. Selectors are CSS, not accessibility roles. Two resources travel back to the host: \`console://logs\` (everything Chromium prints to the console) and \`screenshot://<name>\` (PNG bytes for each capture). The host can re-read either resource between tool calls, so a sequence like 'navigate, click, screenshot' produces an inspectable trail. Launch options pass through. The NPX version opens a visible browser window by default; the Docker version runs headless. Override with the \`PUPPETEER\_LAUNCH\_OPTIONS\` env var or per-call \`launchOptions\`. Dangerous flags such as \`--no-sandbox\` and \`--disable-web-security\` require an explicit \`allowDangerous: true\` or \`ALLOW\_DANGEROUS=true\` opt-in. The upstream README is direct about the security model: this server can reach \`file:///\` URLs and internal IPs because it runs Chromium on your machine. That is the point of headed browser automation, and also the footgun. For production automation, Microsoft now publishes a Playwright-based MCP server at microsoft/playwright-mcp that has better hardening and a richer tool surface; the Anthropic reference here is archived but still functional.

## Tools included

-   puppeteer\_navigate
    
    Navigate to a URL in a headless Chromium.
    
-   puppeteer\_screenshot
    
    Capture a screenshot of the current page or element.
    
-   puppeteer\_click
    
    Click an element matched by CSS selector.
    
-   puppeteer\_fill
    
    Fill an input field by selector.
    
-   puppeteer\_evaluate
    
    Run JavaScript in the page context.
    

The authoritative list comes from the server's tools/list at runtime. This catalog entry may lag the upstream until the next ToolPiper release.

## Install in ToolPiper

ToolPiper handles the JSON configuration. Click Install, fill in any required tokens, and the server is ready in your chat.

Install Puppeteer in ToolPiper

Don't have ToolPiper? We'll take you to the download.

## Install in another client

Install in another MCP client (Claude Desktop, Cursor, Continue, Cline)

Claude Desktop Cursor Continue Cline

Add this to ~/Library/Application Support/Claude/claude\_desktop\_config.json.

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

Copy

## Example prompts

-   "Open example.com and screenshot the hero section."
    
    Copy
-   "Navigate to localhost:3000, click 'Sign In', and screenshot the result."
    
    Copy
-   "Fill the form at quotes.toscrape.com/search.aspx with author 'Einstein' and submit."
    
    Copy
-   "Run document.title in the current page and return the value."
    
    Copy

## Security notes

The browser this server controls is the same one that can open \`file:///\` URLs and request internal IP addresses. A creative prompt can read local files, scan your home network, or pivot to internal services. Do not expose this server to untrusted prompts or untrusted page content. Keep \`allowDangerous\` at its default of false. \`puppeteer\_evaluate\` runs arbitrary JavaScript in the page context, including any cookies and localStorage the browser holds. The upstream reference is archived. For new installations, microsoft/playwright-mcp ships better isolation and is actively maintained. ModelPiper also bundles its own CDP-based scraper inside ToolPiper if you prefer a local alternative.

## Related tools

-   [
    
    F
    
    ### Fetch
    
    ✓ verified
    
    Fetch web pages and return clean markdown.
    
    SearchLocal subprocess1 tool
    
    
    
    
    
    ](/mcp-tools/fetch)
-   [
    
    G
    
    ### Google Maps
    
    ✓ verified
    
    Geocoding, directions, and place lookup via Google Maps.
    
    SearchLocal subprocess5 tools
    
    
    
    
    
    ](/mcp-tools/google-maps)
-   [
    
    B
    
    ### Brave Search
    
    ✓ verified
    
    Web and local search via Brave's privacy-focused search API.
    
    SearchLocal subprocess2 tools
    
    
    
    
    
    ](/mcp-tools/brave-search)
-   [
    
    T
    
    ### Tavily
    
    ✓ verified
    
    Web search and extraction tuned for AI agents.
    
    SearchLocal subprocess4 tools
    
    
    
    
    
    ](/mcp-tools/tavily)

[← Back to all MCP tools](/mcp-tools)
