1.1.0 • Published 8 months ago

@kirkdeam/puppeteer-mcp-server v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Puppeteer MCP Server

A Model Context Protocol (MCP) server that provides browser automation capabilities through Puppeteer. This server allows AI assistants like Claude to interact with web pages, take screenshots, fill forms, and execute JavaScript.

Quick Start

# Run directly with npx (no installation required)
npx @kirkdeam/puppeteer-mcp-server

# Or install globally
npm install -g @kirkdeam/puppeteer-mcp-server
puppeteer-mcp-server

Features

  • Web Navigation: Navigate to any URL
  • Screenshots: Capture full pages or specific elements
  • Form Interaction: Fill inputs, select dropdowns, click buttons
  • JavaScript Execution: Run custom scripts in the browser context
  • Console Logging: Capture and access browser console output
  • Docker Support: Automatically configures for containerized environments
  • Security Controls: Prevents dangerous browser arguments by default

Available Tools

Navigation

  • puppeteer_navigate - Navigate to a URL

Screenshots

  • puppeteer_screenshot - Take screenshots with customizable dimensions

Interaction

  • puppeteer_click - Click page elements
  • puppeteer_fill - Fill form inputs
  • puppeteer_select - Select dropdown options
  • puppeteer_hover - Hover over elements

Scripting

  • puppeteer_evaluate - Execute JavaScript in the browser

Configuration

Environment Variables

  • PUPPETEER_LAUNCH_OPTIONS - JSON string of Puppeteer launch options
  • ALLOW_DANGEROUS - Set to "true" to allow potentially unsafe browser arguments
  • DOCKER_CONTAINER - Automatically detected, or set manually for container environments

Example Configuration for Claude Desktop

Add to your ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["@kirkdeam/puppeteer-mcp-server"],
      "env": {
        "PUPPETEER_LAUNCH_OPTIONS": "{\"headless\": true}",
        "ALLOW_DANGEROUS": "false"
      }
    }
  }
}

Docker Usage

The server automatically detects Docker environments and adjusts browser settings accordingly:

# In Docker container
docker run -it node:18 npx @kirkdeam/puppeteer-mcp-server

Requirements

  • Node.js 18 or higher
  • Compatible with Model Context Protocol clients

License

MIT

Contributing

Issues and pull requests welcome on GitHub.