puppeteer-mcp-server
MCP ServerFreeExperimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
Capabilities11 decomposed
headless-browser-automation-via-mcp
Medium confidenceExposes Puppeteer's browser automation capabilities through the Model Context Protocol, allowing LLM agents and MCP clients to control a headless Chrome/Chromium instance via standardized MCP tool calls. Implements a server that translates MCP requests into Puppeteer API calls, managing browser lifecycle, page navigation, and DOM interaction through a unified interface.
Bridges Puppeteer's browser automation directly into the MCP protocol ecosystem, enabling LLM agents to invoke browser actions as first-class tools without custom integration code. Implements MCP server scaffolding that maps Puppeteer methods to standardized tool definitions.
Simpler than building custom Puppeteer integrations for each MCP client because it standardizes browser automation as a reusable MCP service; lighter-weight than Selenium-based MCP servers due to Puppeteer's DevTools Protocol efficiency.
page-navigation-and-content-retrieval
Medium confidenceImplements MCP tools for navigating to URLs, waiting for page load states, and retrieving rendered HTML/text content. Uses Puppeteer's page.goto() with configurable wait conditions (networkidle, domcontentloaded) and exposes page.content() to return fully-rendered DOM as string, enabling LLM agents to browse and read web pages.
Exposes Puppeteer's DevTools Protocol page navigation with configurable wait strategies, allowing agents to handle both static and dynamic content. Serializes rendered DOM directly to string for LLM consumption without intermediate parsing.
More reliable than simple HTTP GET for dynamic sites because it waits for JavaScript execution; faster than Selenium for page content retrieval due to Puppeteer's lighter protocol overhead.
error-handling-and-page-crash-recovery
Medium confidenceImplements error handling for browser crashes, page errors, and navigation failures, exposing error information through MCP responses. Monitors page console errors and crashes using Puppeteer's error event listeners, allowing agents to detect and respond to page failures gracefully.
Monitors and exposes Puppeteer page errors and crashes as MCP tool responses, allowing agents to detect failures and implement recovery logic. Captures console errors for debugging.
More informative than silent failures because it exposes error details; more actionable than generic timeouts because it distinguishes between different failure types.
dom-element-interaction-and-querying
Medium confidenceProvides MCP tools for querying DOM elements by CSS/XPath selectors, reading element properties (text, attributes, visibility), and performing interactions (click, type, focus). Implements Puppeteer's page.$()/page.$$() for selection and element.evaluate() for property extraction, enabling agents to locate and manipulate specific page elements.
Exposes Puppeteer's element querying and evaluation as MCP tools, allowing agents to chain selector queries with property extraction and interactions in a single tool call. Uses page.evaluate() to run JavaScript in page context for reliable property access.
More flexible than REST API scraping because it can interact with dynamic elements; more reliable than regex-based HTML parsing because it queries the live DOM after JavaScript execution.
screenshot-and-visual-capture
Medium confidenceImplements MCP tools for capturing page screenshots and viewport state as images. Uses Puppeteer's page.screenshot() with configurable viewport dimensions, device emulation, and format options (PNG, JPEG), returning image data as base64 or file path for visual inspection by agents or downstream systems.
Integrates Puppeteer's screenshot capability as an MCP tool, allowing agents to capture visual state and pass images to vision models or store for comparison. Supports device emulation for responsive design testing.
More efficient than headless browser screenshots via Selenium because Puppeteer uses DevTools Protocol; enables visual feedback loops for agents without requiring separate image processing tools.
javascript-evaluation-in-page-context
Medium confidenceProvides MCP tools for executing arbitrary JavaScript code within the page context using Puppeteer's page.evaluate(). Allows agents to run custom scripts that interact with page state, DOM, and browser APIs, returning results as JSON-serializable values. Enables complex page manipulation and data extraction beyond standard DOM queries.
Exposes Puppeteer's page.evaluate() as an MCP tool, allowing agents to execute arbitrary JavaScript in the page context and receive results as JSON. Enables dynamic, framework-aware page interaction without pre-defined tool boundaries.
More powerful than selector-based queries because it allows custom logic; more flexible than REST APIs because it can access any page state or browser API.
form-filling-and-submission
Medium confidenceImplements high-level MCP tools for automating form interactions: filling input fields by selector, selecting dropdown options, checking checkboxes, and submitting forms. Chains Puppeteer's type(), select(), and click() methods with element querying, handling common form patterns without requiring agents to write custom interaction sequences.
Provides higher-level form automation tools that abstract away individual type/click/select steps, allowing agents to specify form field values declaratively. Handles common form patterns (text inputs, selects, checkboxes) with a unified interface.
More user-friendly than raw Puppeteer API because it bundles common form operations; faster to implement than custom form automation scripts because it handles standard patterns.
page-state-and-navigation-history-tracking
Medium confidenceTracks and exposes page state information including current URL, page title, navigation history, and load status through MCP tools. Uses Puppeteer's page.url(), page.title(), and navigation event listeners to maintain state, allowing agents to verify navigation success and understand page context.
Exposes Puppeteer's page state properties as queryable MCP tools, allowing agents to verify navigation and page context without side effects. Maintains state across multiple tool calls within a session.
More reliable than HTTP header inspection because it reflects the actual rendered page state; simpler than custom navigation tracking because it leverages Puppeteer's built-in state.
viewport-and-device-emulation
Medium confidenceImplements MCP tools for configuring browser viewport dimensions and emulating specific devices (mobile, tablet, desktop) with realistic user agent strings and device metrics. Uses Puppeteer's page.setViewport() and page.emulateDevice() to render pages as they would appear on different devices, enabling responsive design testing.
Provides device emulation as an MCP tool, allowing agents to test responsive behavior without manual viewport configuration. Includes preset device profiles for common devices.
More convenient than manual viewport configuration because it includes device presets; more realistic than simple viewport resizing because it includes device metrics and user agent.
cookie-and-storage-management
Medium confidenceExposes MCP tools for managing browser cookies and local/session storage, allowing agents to set, read, and delete cookies to maintain session state across page navigations. Uses Puppeteer's page.setCookie(), page.cookies(), and page.evaluate() for storage access, enabling stateful automation workflows.
Exposes Puppeteer's cookie and storage APIs as MCP tools, allowing agents to manage session state across multiple page navigations. Enables stateful automation without manual session handling.
More flexible than hardcoding credentials because it allows dynamic session management; more reliable than HTTP-only session management because it works with JavaScript-based authentication.
wait-and-polling-for-dynamic-content
Medium confidenceImplements MCP tools for waiting for specific conditions on the page: element appearance, text content changes, navigation completion, or custom JavaScript conditions. Uses Puppeteer's page.waitForSelector(), page.waitForNavigation(), and page.waitForFunction() to handle dynamic content loading, enabling agents to synchronize with asynchronous page behavior.
Exposes Puppeteer's wait utilities as MCP tools, allowing agents to synchronize with dynamic page behavior without polling loops. Supports multiple wait strategies (selector, navigation, function).
More reliable than fixed delays because it waits for actual conditions; more flexible than simple element waiting because it supports custom JavaScript predicates.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with puppeteer-mcp-server, ranked by overlap. Discovered automatically through the match graph.
Puppeteer
** - Browser automation and web scraping.
puppeteer-mcp-server
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
WebScraping.AI
** - Interact with **[WebScraping.AI](https://WebScraping.AI)** for web data extraction and scraping.
@executeautomation/playwright-mcp-server
Model Context Protocol servers for Playwright
@todoforai/puppeteer-mcp-server
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
mcp-playwright
Playwright Model Context Protocol Server - Tool to automate Browsers and APIs in Claude Desktop, Cline, Cursor IDE and More 🔌
Best For
- ✓AI engineers building LLM agents that need web interaction capabilities
- ✓Teams integrating browser automation into Claude Desktop or other MCP clients
- ✓Developers prototyping web scraping or testing workflows driven by language models
- ✓Web scraping workflows where LLMs need to read and understand page content
- ✓Research agents that browse multiple pages and synthesize information
- ✓Testing automation where agents verify page content after navigation
- ✓Robust automation workflows that need to handle failures gracefully
- ✓Testing workflows that verify error handling and recovery
Known Limitations
- ⚠Experimental status — API surface and stability not guaranteed across versions
- ⚠Single browser instance per server — concurrent requests may queue or conflict if not properly managed
- ⚠No built-in session persistence — browser state resets between server restarts
- ⚠Requires Chromium/Chrome binary on the system — adds ~100MB+ disk footprint and startup latency
- ⚠No built-in JavaScript execution context visibility — agent cannot directly inspect network requests or console logs
- ⚠Wait conditions (networkidle) may timeout on pages with long-polling or streaming connections
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Package Details
About
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
Categories
Alternatives to puppeteer-mcp-server
Are you the builder of puppeteer-mcp-server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →