Labsco
MCP SERVER

Puppeteer

by cploujoux

Navigate a page, click, fill and select, hover, screenshot — and run JavaScript in the page when the other tools cannot express it.

Browser Automation, Control & ScreenshotsVerified
Summary
It is the minimal browser surface, and puppeteer_evaluate is where everything the other tools cannot express ends up.

The interaction tools each take a CSS selector and do exactly one thing, which makes them predictable but also means anything conditional — waiting for an element, reading a value back, walking a list — has to be written as JavaScript and sent through puppeteer_evaluate. That is a genuine capability and a genuine risk in the same tool, since it runs arbitrary script in whatever page is loaded. The parameter worth settling before use is allowDangerous on puppeteer_navigate, which sits alongside launchOptions; the tool description does not say what it permits, so read the project before turning it on.

What it is

A Puppeteer browser automation server with seven tools covering navigation, screenshots, element interaction by selector, and script evaluation.

What you get
  • Navigation: puppeteer_navigate takes a url alongside launchOptions and an allowDangerous flag.
  • Capture: puppeteer_screenshot takes the whole page or one selector, with a name, width, height and an encoded option.
  • Interaction by selector: puppeteer_click clicks an element, puppeteer_fill fills an input field, puppeteer_select chooses a value in a select element, and puppeteer_hover hovers one.
  • The escape hatch: puppeteer_evaluate executes JavaScript in the browser console.
Requirements

A machine that can run a Chromium browser through Puppeteer. No credentials are configured.

Setup effort

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