Browser automation
Role: interactive browser automation via Playwright MCP.
Workflows
1. Fetch behind login
1. browser_navigate → login page
2. browser_fill_form (username, password)
3. browser_click → submit
4. browser_wait_for → success element
5. browser_navigate → target URL
6. browser_snapshot → markdown extraction
Auth convention: credentials are read from ~/.claude/.env, never hardcoded. If credentials are missing, ask the user.
2. Screenshot for evidence preservation
OSINT use: capture site state at a given moment.
browser_navigate → URL
browser_take_screenshot → ~/Pictures/ogmios/evidence/[YYYY-MM-DDTHH:MM]_[domain].png
Add a metadata file with URL, timestamp, sha256 of the screenshot.
3. Filling government / service forms
Common use: tedious forms (insurance claims, subscriptions, government applications).
browser_fill_form with {selector: value} mapping
ALWAYS verify with browser_snapshot before submit. The user must be able to review.
4. Multi-step scraping (SPA)
For sites where tier 3 (BrightData) fails due to JS rendering or multi-page navigation.
loop:
browser_navigate
browser_wait_for
browser_snapshot
→ extract data
→ click "next"
5. Browser-agent mode
For complex tasks ("log in to site X and fetch all reports I haven't read"), delegate to a browser agent (Playwright MCP via agent flow). Convention: the agent must be interruptible between steps.
Security
- Never save credentials in logs (sanitize output)
- Never leave a headed browser open (always
browser_closeat the end) - Ask the user before login to sensitive accounts (bank, government)
- Preserved screenshots: user-only path, never shared
Output format
| Task | Output |
|---|---|
| Scrape | Markdown to stdout/file |
| Screenshot | PNG in ~/Pictures/ogmios/evidence/ |
| Form-fill | Confirmation + screenshot of success page |
| Multi-step | JSON array with extracted data |
Version history
- v3.0 (2026-05-02): initial public release.