npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

browser-img-hunter

v1.0.3

Published

Browser image capture and MCP server for authorized web document workflows

Downloads

364

Readme

Browser Img Hunter

Browser image capture CLI + MCP server for page-by-page document capture and PDF export.

Use this only for content you are authorized to access and save.

Quick Start

1) Install

npm i -g browser-img-hunter
npx playwright install chromium

2) CLI capture

browser-img-hunter --url "https://example.com/document" --out captures --channel msedge

3) MCP setup in a project (Cursor + Gemini CLI)

cd your-project
browser-img-hunter-init .

This creates a project-local .scp workspace and updates:

  • .cursor/mcp.json
  • .gemini/settings.json

Features

  • One image per detected page number (page-0001.png, page-0002.png, ...)
  • Virtualized viewer-safe capture with render readiness checks
  • Automatic cookie banner, popup, and promo overlay dismissal before capture
  • Improved Scribd-style page detection for text markers like - 1/10 -
  • Optional headless capture mode for unattended runs
  • Missing/duplicate page verification
  • PDF build from captured pages
  • Project-local .scp workspace for reusable agent workflows

Commands

| Command | Description | |---|---| | browser-img-hunter | CLI page capture | | browser-img-hunter-init | Initialize .scp + client MCP config | | browser-img-hunter-mcp | Start MCP server (stdio transport) |

CLI Usage

browser-img-hunter --help

Example:

browser-img-hunter --url "https://example.com/document" --out captures --wait-ms 10000 --max-scrolls 1200

Headless example:

browser-img-hunter --url "https://example.com/document" --out captures --auto-start --headless

Common options:

  • --url <url> target URL
  • --out <directory> output folder
  • --profile <directory> browser profile folder
  • --max-pages <number> stop after N pages (0 = no limit)
  • --max-scrolls <number> max scroll rounds
  • --wait-ms <number> initial wait after open
  • --delay-ms <number> delay between capture actions
  • --ready-timeout-ms <number> page render wait timeout
  • --headless run browser without a visible window
  • --auto-start start without Enter prompt
  • --append keep existing page-*.png files in output

Viewer handling notes:

  • The CLI tries to close or hide cookie banners, popups, ad overlays, and promo interstitials before screenshots.
  • This is especially useful on Scribd-like viewers where consent banners or recommended content blocks can overlap the page.
  • The capture flow re-checks overlays after initial load and again right before page screenshots.

MCP Tools (English Names)

| Tool | Purpose | |---|---| | scp_initialize_project | Create .scp workspace and MCP client config | | capture_document_pages | Capture pages into .scp/captures/<job_name> | | verify_capture_directory | Detect missing/duplicate pages and exact duplicate files | | build_pdf_from_capture | Create PDF from captured page images |

.scp Structure

| Path | Purpose | |---|---| | .scp/captures/ | Capture job outputs | | .scp/profile/ | Reused Playwright browser session | | .scp/logs/ | Runtime logs | | .scp/mcp/ | MCP config templates |

Configuration

| Requirement | Value | |---|---| | Node.js | >= 18 | | Browser engine | Playwright Chromium | | Package name | browser-img-hunter |

Development

npm install
npm run capture:help
npm run mcp:start
npm run scp:init -- .

Publishing

npm run pack:check
npm publish --access public

License

ISC