@manzoid2/browser-tools
v1.0.3
Published
Minimal Puppeteer-based browser automation toolkit for AI coding agents
Maintainers
Readme
Browser Tools
Minimal Puppeteer-based browser automation toolkit for AI coding agents. Inspired by Mario Zechner's approach.
Installation
# Install globally
npm install -g @manzoid2/browser-tools
# Or use directly with npx
npx @manzoid2/browser-tools <command>Quick Start
# Start browser
browser-start
# Navigate to a page
browser-navigate https://example.com
# Execute JavaScript
browser-evaluate "document.title"
# Take screenshot
browser-screenshot test.pngPhilosophy
Instead of heavy MCP servers, these are simple bash-callable scripts that leverage the agent's existing JavaScript knowledge. Total documentation: ~225 tokens vs 13k+ for MCP equivalents.
Tools
browser-start [profile] [--copy-profile] [--size=WxH]
Launches Chrome with remote debugging on port 9222.
browser-start # Default profile, 1440x900 window
browser-start work # Named profile
browser-start work --copy-profile # Copy Chrome profile for authenticated sessions
browser-start --size=1920x1080 # Custom window size
browser-start work --size=1280x720 # Named profile + custom sizebrowser-navigate [--new-tab]
Navigate to a URL.
browser-navigate https://example.com
browser-navigate https://example.com --new-tabbrowser-evaluate "" | --file
Execute JavaScript in the current page context.
browser-evaluate "document.title"
browser-evaluate "document.querySelectorAll('a').length"
browser-evaluate --file script.jsbrowser-screenshot [output-path] [--full-page]
Capture screenshot of current page.
browser-screenshot
browser-screenshot output.png
browser-screenshot output.png --full-pageUsage with Claude Code
Once installed globally, Claude can use these tools directly via Bash without needing to add any directories.
Why This Over MCP?
- Token efficient: Minimal docs, agent already knows JavaScript
- Composable: Output goes to disk, can be chained
- Extensible: Add new tools easily without versioning hell
- Simple: Just Node.js scripts, no protocol layer
