A screenshot server that can only reach public pages misses the admin panel, the dashboard and the flow behind a login — which is most of what a developer wants to look at. Passing cookies fixes that, and the log sanitiser means the console output you collect from a real session does not carry tokens into the transcript. Two things to note before adopting: the project is archived, with the author pointing at Chrome DevTools MCP as the more comprehensive successor, and console collection always waits three seconds after load, so expect a few seconds per call.
A Playwright-backed server for two jobs: capturing what a page looks like and collecting what its console said. Both work against localhost and remote URLs, and both can run as an authenticated session using cookies you supply.
- The screenshot tool takes a url, with width and height between 200 and 4000, defaulting to 1280 by 720
- Formats are webp, png or jpeg, with quality from 1 to 100 and a default of 80
- fullPage captures the whole document; selector captures a single element
- Console log collection with the levels chosen through BROWSERLOOP_CONSOLE_LOG_LEVELS — log, info, warn, error and debug by default
- Log sanitisation is on by default and masks API keys, email addresses, JWT tokens, auth headers, URLs carrying credentials and secret-looking variables
- Cookie authentication takes a JSON array inline or from a file path in BROWSERLOOP_DEFAULT_COOKIES, so a protected page screenshots as the logged-in user
- Retries are built in — BROWSERLOOP_RETRY_COUNT defaults to 3
Node.js 20 or newer, run over npx as browserloop — version 1.1.1. Chromium must be installed first with `npx playwright install chromium`; the most common failure is skipping that step. Debug logs go to a file rather than the console, at /tmp/browserloop.log when BROWSERLOOP_DEBUG is true, to keep stdout clean for the MCP protocol. Licensed AGPL-3.0-or-later.
One command — npx -y browserloop@latest
