Labsco
MCP SERVER

Puppeteer

by code-craka

Drives a real browser page — navigate, click, fill, select, hover and screenshot by CSS selector — and runs arbitrary JavaScript in the page through puppeteer_evaluate.

Browser Automation, Control & ScreenshotsVerified
Summary
puppeteer_evaluate runs arbitrary JavaScript in the page, which moves the capability question off the tool list and onto the sites you point it at.

The interaction tools address elements by CSS selector alone, so a page that renames its classes on deploy breaks the script rather than the server, and puppeteer_navigate is where browser-level configuration goes through launchOptions and the allowDangerous flag. There is no wait or condition tool in the surface: timing on a page that renders late is handled inside puppeteer_evaluate, which is also where any assertion about the page has to live.

What it is

A Puppeteer-backed browser automation server with 7 tools: navigation with launch options, pointer and form interactions addressed by CSS selector, page or element screenshots, and JavaScript execution in the browser console.

What you get
  • Navigation with the browser launch under your control: puppeteer_navigate takes a url plus launchOptions for the browser itself and an allowDangerous flag.
  • Interaction addressed by CSS selector: puppeteer_click clicks the element a selector matches, puppeteer_fill writes a value into an input, puppeteer_select chooses a value inside a select element, and puppeteer_hover moves the pointer over an element.
  • Screenshots of the page or of one element: puppeteer_screenshot takes a name, an optional selector to scope the shot, width and height, and an encoded flag.
  • An escape hatch for anything the interaction tools do not cover: puppeteer_evaluate runs a script in the browser console and returns its result.
Requirements

Nothing — no account, no key.

Setup effort

One command — npx -y @modelcontextprotocol/server-puppeteer