puppeteer_click
Click an element on the page
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.
LABSCO SUMMARY
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.
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.
Nothing — no account, no key.
One command — npx -y @modelcontextprotocol/server-puppeteer
USE CASES
Load the URL in a real browser, pull what you need out of the live DOM, and keep a screenshot of what was on screen when you did.
Fill the inputs, set the dropdowns, submit, and carry on from wherever the site lands you.
Size the shot, trigger the hover or click that reveals the thing, and capture the page or the element on its own.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
puppeteer_clickClick an element on the page
puppeteer_evaluateExecute JavaScript in the browser console
puppeteer_fillFill out an input field
puppeteer_hoverHover an element on the page
puppeteer_navigateNavigate to a URL
puppeteer_screenshotTake a screenshot of the current page or a specific element
puppeteer_selectSelect an element on the page with Select tag
BEFORE YOU INSTALL
7 tools when we connected. console://logs and screenshot://<name> are resources, not tools.
npx on PATH
CONTEXT COST
Rated by the size of the 7 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @modelcontextprotocol/server-puppeteerThis command installs @modelcontextprotocol/server-puppeteer — the reference Puppeteer server this repository adapts (its package.json carries the same name) — not a package published by code-craka, and npm marks it "no longer supported". The Docker route builds this repository's own code.
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Runs @modelcontextprotocol/server-puppeteer, the reference server this repository adapts, which npm marks no longer supported; use the Docker route to run this repository's own build.
Build the image
You build this image yourself from the repository before the client can start it.
git clone https://github.com/code-craka/puppeteer-mcp.git
cd puppeteer-mcp
docker build -t puppeteer-mcp .Add this to your client's config
The client starts a container from the image you just built.
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"puppeteer-mcp"
]
}
}
}