Browser Tools
Minimal CDP tools for collaborative site exploration and scraping.
Credits: Based on Mario Zechner's article What if you don't need MCP?, adapted from Factory.ai.
Setup
Before first use, install dependencies:
bash
npm install --prefix skills/browser
Start Chrome
bash
./skills/browser/scripts/start.js # Fresh profile ./skills/browser/scripts/start.js --profile # Copy your profile (cookies, logins)
Start Chrome on :9222 with remote debugging.
Navigate
bash
./skills/browser/scripts/nav.js https://example.com ./skills/browser/scripts/nav.js https://example.com --new
Navigate current tab or open new tab.
Evaluate JavaScript
bash
./skills/browser/scripts/eval.js 'document.title'
./skills/browser/scripts/eval.js 'document.querySelectorAll("a").length'
Execute JavaScript in active tab (async context).
IMPORTANT: The code must be a single expression or use IIFE for multiple statements:
- •Single expression:
'document.title' - •Multiple statements:
'(() => { const x = 1; return x + 1; })()' - •Avoid newlines in the code string - keep it on one line
Screenshot
bash
./skills/browser/scripts/screenshot.js
Screenshot current viewport, returns temp file path.
Pick Elements
bash
./skills/browser/scripts/pick.js "Click the submit button"
Interactive element picker. Click to select, Cmd/Ctrl+Click for multi-select, Enter to finish.
Workflow
- •Start Chrome with
start.js --profileto mirror your authenticated state. - •Drive navigation via
nav.js https://target.appor open secondary tabs with--new. - •Inspect the DOM using
eval.jsfor quick counts, attribute checks, or extracting JSON payloads. - •Capture artifacts with
screenshot.jsfor visual proof orpick.jswhen you need precise selectors or text snapshots.
Usage Notes
- •Start Chrome first before using other tools
- •The
--profileflag syncs your actual Chrome profile so you're logged in everywhere - •JavaScript evaluation runs in an async context in the page
- •Pick tool allows you to visually select DOM elements by clicking on them