A headless browser engine in Rust, built for web scraping and AI agents. Real JavaScript, real DOM, native layout and paint — in a 70 MB binary that starts instantly.
Interactive demo · runs in your browser · no install needed
telemaco install wires the MCP server and web tools into 15 coding agents for you, asking before it changes anything. telemaco uninstall takes it all back out.
Plus any MCP client over stdio or HTTP. telemaco install detects what is on your machine and wires it up.
Same CDP automation surface. A fraction of the resources. Built-in anti-detection.
| Metric | Telemaco yours | Headless Chrome |
|---|---|---|
| Memory | 30 MB | 200+ MB |
| Binary size | 70 MB | 300+ MB |
| Page load | 85 ms | ~500 ms |
| Startup | Instant | ~2 s |
| Anti-detect | Built-in | None |
| Puppeteer / Playwright | Yes | Yes |
~6× less memory on the same page.
~6× faster on framework pages.
A fraction of the footprint, no Chromium to install.
Rendering and stealth are first-class capabilities, not afterthoughts.
CSS layout and paint, viewport and full-page screenshots, activity-driven CDP screencasting, and PDF export. No Chromium, no WebView.
wreq/BoringSSL transport, per-session fingerprint randomization, consistent browser identity, and a tracker blocklist. Rendering stays fully available.
telemaco serve speaks the Chrome DevTools Protocol, so Puppeteer, Playwright, and chromiumoxide connect out of the box.
Stateful browser automation tools for Claude Desktop, Cursor, and any MCP client — over stdio or HTTP.
SSRF guards on loopback, RFC1918, and link-local targets; a V8 termination watchdog per page; process-level hard deadlines. One bad page can never hang a worker.
telemaco scrape fans out across workers with configurable concurrency, proxy inheritance, and JSON output for pipelines.
One-command installer, a published Docker image, the CLI from crates.io, or build from source.
# Right binary for your machine, then offers to run # `telemaco install` to wire it into the coding # agents it finds on the machine $ curl -fsSL https://raw.githubusercontent.com/AlbertoBarrago/telemaco/main/install.sh | bash
# macOS, Apple Silicon and Intel $ brew tap albertobarrago/telemaco $ brew install telemaco # stealth build, side by side with the default one $ brew install telemaco-stealth
# Published image, linux/amd64 + linux/arm64 $ docker pull albz222/telemaco:latest $ docker run -d --name telemaco \ -p 127.0.0.1:9222:9222 albz222/telemaco:latest
# Linux x86_64 $ curl -LO https://github.com/AlbertoBarrago/telemaco/releases/latest/download/telemaco-x86_64-linux.tar.gz $ tar xzf telemaco-x86_64-linux.tar.gz $ ./telemaco fetch https://example.com --eval "document.title"
$ git clone https://github.com/AlbertoBarrago/telemaco.git $ cd telemaco $ cargo build --release -p telemaco-cli --bins --features render
# The headless browser as a Rust library $ cargo add telemaco # Or the CLI as a binary $ cargo install telemaco-cli --features render
# Keep telemaco current $ telemaco update # latest release $ telemaco update --check # report only # Keeps your build variant: a stealth install # stays stealth instead of becoming the plain one # Installed with brew? use `brew upgrade` instead
Same CDP surface your existing Puppeteer and Playwright code already uses.
Telemaco ships an MCP server that exposes browser automation to Claude Desktop, Cursor, and any MCP client. telemaco install wires it into 15 coding agents for you, asking before it changes anything, and telemaco uninstall takes it all back out.
Telemaco is shaped by its contributors. Every feature, every fix, every test.
Telemaco is a fork of Obscura, whose contributors are credited in the docs. See all telemaco contributors →
Open source under the Apache 2.0 license. Install in 30 seconds, wire it into your agent, and start scraping.