The content-first workflow is the design choice worth knowing: the server pushes you to read the page's HTML or text before interacting, which holds up better than deciding from a screenshot. Two tools do not do what their names suggest — solve_captcha is a placeholder that calls no solving service beyond a best-effort click on a detected Turnstile widget at startup, and save_content_as_markdown is advertised but blocked by the workflow validator, which the project records as a known bug. The anti-detection settings help; sites can still spot and block it.
A local Chrome driven through rebrowser-puppeteer-core with a small set of anti-detection settings. One browser session at a time, visible by default, with the exact Chrome process it started tracked so closing it never touches your own browser.
- A Chrome instance started with anti-detection settings and automatic Chrome path detection on Windows, macOS and Linux — headed by default, headless on request
- Proxy, a custom Chrome path, and a dedicated automation profile as launch options
- Page HTML or text read back — the documented first step before interacting, and steadier than a screenshot for deciding what to do next
- A CSS selector found from text you can actually see on the page, so you do not have to guess it
- Click, type with a per-character delay, wait on a condition, and random scrolling with natural timing
- Only its own Chrome process closed on shutdown
Node.js 18 or newer, npm and npx, and Google Chrome or Chromium installed. Launched over stdio with npx -y puppeteer-real-browser-mcp-server@latest. Nothing to authorize — it drives a browser on your machine with your own permissions, which is also why logins, forms, purchases and downloads are worth reading before you approve the call. One browser session at a time.
One command — npx -y puppeteer-real-browser-mcp-server@latest
