LabscoMCP early access ↗
twardochMCP SERVER · OFFICIAL PROJECT

brosh

Full-page screenshots of a scrolling site, handed back as images plus the visible text as Markdown and, if you want it, the HTML.

by twardoch ↗Browser Automation, Control & Screenshots✓ Official

LABSCO SUMMARY

The text arrives with the pixels.

Returning the screenshot and the Markdown text from the same capture is the design choice that makes this useful to a model — it can read the content and look at the layout without two separate fetches that might not agree. Halving the scale by default in MCP mode is a small thing that quietly keeps responses affordable. The playwright install step is the one that catches everybody.

What it is

A browser capture tool built for agents that need to see a page rather than fetch its source. It drives Chrome, Edge or Safari through Playwright, scrolls the page and captures each section, and returns the screenshots alongside the extracted text and optionally minified HTML. It can attach to the browser session you already have open, so pages behind a login are reachable.

What you get

  • see_webpage — the exposed MCP tool, taking url, zoom, width, height, scroll_step, scale and the fetch flags
  • Four return shapes you can combine: base64 image data with fetch_image, file paths to saved images with fetch_image_path, extracted Markdown text with fetch_text, and minified HTML with fetch_html
  • A default scale of 50 in MCP mode, and automatic size limits on responses, so a long page does not overwhelm the calling model
  • Beyond MCP: a CLI and a Python API, single-shot or frame-series capture, and an animated PNG of the whole scroll
  • Connection to your existing browser session, bringing cookies, logins and extensions with it, or a fresh launch when you would rather not

Requirements

Nothing — no account, no key. Python with uv tool install brosh or pip install brosh, followed by playwright install — that second command fetches the browser binaries and skipping it makes every capture fail with a browser-not-found error. The MCP entry point is the brosh-mcp command that install provides — PyPI does not have a package under that name — and the client is wired with claude mcp add brosh -- brosh-mcp, or a config entry running the same command. Screenshots default to ~/Pictures/brosh. Works on macOS, Windows and Linux.

Setup effort

One command — uv tool install brosh && playwright install