1.1.0 • Published 8 months ago
@kirkdeam/puppeteer-mcp-server v1.1.0
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-serverFeatures
- 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 elementspuppeteer_fill- Fill form inputspuppeteer_select- Select dropdown optionspuppeteer_hover- Hover over elements
Scripting
puppeteer_evaluate- Execute JavaScript in the browser
Configuration
Environment Variables
PUPPETEER_LAUNCH_OPTIONS- JSON string of Puppeteer launch optionsALLOW_DANGEROUS- Set to "true" to allow potentially unsafe browser argumentsDOCKER_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-serverRequirements
- Node.js 18 or higher
- Compatible with Model Context Protocol clients
License
MIT
Contributing
Issues and pull requests welcome on GitHub.