Wer mit curl arbeitet, kennt das Problem: Man bekommt den Quelltext einer Seite – aber nicht das, was der Nutzer tatsächlich sieht. JavaScript wird nicht ausgeführt, CSS nicht gerendert, Single-Page-Apps bleiben leer. Genau dafür haben wir bcurl gebaut.
Was ist bcurl?
bcurl ist ein Kommandozeilen-Tool, das Webseiten in einem echten Chromium-Browser rendert und das Ergebnis als Screenshot (PNG/JPEG) oder PDF zurückgibt. Die Bedienung fühlt sich an wie curl – gleiche Flags, gleiche Gewohnheiten:
# Screenshot einer Webseite
bcurl -o screenshot.png https://example.com
# Mobile Ansicht simulieren
bcurl --device iphone-14 -o mobile.png https://example.com
# Komplette Seite als PDF
bcurl --full-page --format pdf -o seite.pdf https://example.com
Wer curl-Flags wie -H, -b, -u, -x oder -v kennt, fühlt sich sofort zu Hause.
Mehr als Screenshots
bcurl kann deutlich mehr als nur Bilder machen:
- Device-Emulation – iPhone, Pixel, iPad, Galaxy – 10 vordefinierte Geräte
- Login & Sessions – Formulare ausfüllen, Cookies speichern, Session wiederverwenden
- Netzwerkanalyse – Request-Tabelle, HAR-Export, Timing-Waterfall
- Visual Diff – Pixel-genauer Vergleich zweier Screenshots
- Parallele Captures – mehrere URLs gleichzeitig aufnehmen
- Record & Replay – komplexe Interaktionen aufzeichnen und abspielen
- Daemon Mode – Chromium im Hintergrund halten, ~1,5 Sekunden Startup sparen
Praxisbeispiel: Login und Dashboard-Screenshot
Ein typischer Anwendungsfall: automatisiert einen Screenshot eines geschützten Bereichs aufnehmen.
# Login und Session speichern
bcurl \
--form-login https://app.example.com/login \
--form-field 'input[name="username"]=admin' \
--form-field 'input[type="password"]=secret' \
--form-submit 'button:text-is("Sign In")' \
--session session.json \
-o dashboard.png https://app.example.com/dashboard
# Nächstes Mal: Session wiederverwenden
bcurl --session session.json -o dashboard.png https://app.example.com/dashboard
Die Session-Datei speichert Cookies und localStorage – inklusive JWT-Tokens und Auth-State. Nachfolgende Aufrufe überspringen den Login komplett.
KI-Integration: 24 Browser-Tools für Agenten
Das vielleicht spannendste Feature: bcurl ist gleichzeitig ein MCP-Server (Model Context Protocol). KI-Agenten wie Claude Code können damit den Browser fernsteuern – navigieren, klicken, Formulare ausfüllen, Screenshots machen, Assertions prüfen:
# bcurl als MCP-Server für Claude Code registrieren
claude mcp add bcurl -- bcurl --mcp
Damit bekommt der KI-Agent 24 Browser-Tools: navigate, click, fill, screenshot, login, assert, evaluate und mehr. Das ermöglicht Szenarien wie automatisierte QA-Tests, Web-Scraping mit JavaScript-Rendering oder visuelle Regression-Tests – gesteuert durch natürliche Sprache.
Installation
bcurl ist Open Source und in wenigen Sekunden installiert:
# Via Homebrew (macOS/Linux)
brew tap christianbuerckert/bcurl https://github.com/christianbuerckert/bcurl
brew install bcurl
# Oder aus dem Quellcode
git clone https://github.com/christianbuerckert/bcurl.git
cd bcurl && ./install.sh
Voraussetzung ist Node.js ≥ 18. Chromium wird automatisch mitinstalliert.
Warum nicht Puppeteer/Playwright direkt?
Natürlich kann man Playwright-Scripts schreiben. Aber bcurl macht das Ganze zugänglich für alle, die keine Node.js-Projekte aufsetzen wollen. Ein Einzeiler auf der Kommandozeile reicht. Für CI/CD-Pipelines, Monitoring-Scripts oder schnelle Checks ist das ein echter Produktivitätsgewinn.
Und wer doch tiefer einsteigen will: Der MCP-Server macht bcurl zu einem vollwertigen Browser-Automatisierungstool – ohne eine Zeile Playwright-Code schreiben zu müssen.
Fragen zu bcurl oder Browser-Automatisierung?
Wir helfen gerne bei der Integration in Ihre CI/CD-Pipeline, beim Aufsetzen von Visual Regression Tests oder bei der Anbindung an KI-Agenten.