The most efficient browser
for your agents.

iframer doesn't just browse a website, it learns it: caching endpoints and creating "anchors" for its key elements, so the next visit is instant.

It also covers the basics: secure sessions, headed/headless modes, self-hosted captcha solving.

Built for real engineering work, not one-off research, and the benchmarks below prove it.

Hard tasks: many pages, real finding-your-way

iframer (MCP)iframer (CLI)agent-browserPlaywright MCP

Wiki link chase

Everest → Gojo, 6 hops, find each link

tokens
517
721
913
1,405
seconds
2.0
3.8
2.9
7.4

Store purchase

login → sort → cart → checkout

tokens
552
697
851
2,739
seconds
2.2
2.3
3.0
7.0

Heavy-page recon

GitHub: look + pull 4 facts

tokens
986
1,058
8,433
19,906
seconds
5.0
5.2
4.7
5.2

Shorter bar wins. Where the others dump a whole accessibility tree into the model’s context, iframer returns a capped, filtered snapshot, so on the GitHub page it spends 986 tokens where Playwright spends 19,906. See the full benchmark →

$npx iframer-toolkit install

Runs locally. No Docker required. Works with Claude Code, Codex, any MCP agent.

What it does

  • Your AI gets a real Chromium browser: headless, headful on your desktop, or invisible headful via self-hosted Docker
  • Or drives a tab in your real Chrome, on your real logged-in session, via the optional extension, no relaunch
  • Log into real accounts: passwords stay encrypted, the AI never sees them
  • CAPTCHAs and cookie banners handled automatically with vision (needs Anthropic API key)
  • 2FA with TOTP: just store the secret, iframer generates the code
  • Sessions persist across conversations and browser modes: login once, stay logged in
  • Reverse-engineer any site's API: captures endpoints, auth, cookies, and saves ready-to-use .js or .ts files
  • One command to install. Works with Claude Code, Codex, any MCP-compatible agent.

Browser modes

headless
Default. Fast, no display needed. Best for data extraction and most automations.
binary-headful
Opens a real Chromium window on your desktop. iframer auto-escalates to this when a site detects headless.
docker-headful
Self-hosted Docker (optional). Headful browser runs invisibly in a container, watch it live via noVNC. Your home IP, no window on your desktop.
extension
Drives a tab in your own Chrome, on your real logged-in session, via the optional extension, no relaunch. Same pipeline engine over a CDP relay.

iframer auto-selects and auto-escalates: headless → binary-headful → docker-headful. See architecture for how that decision actually works.

How it works

npx iframer-toolkit install
Downloads Chromium + registers MCP tools
Agent: "store creds for site X"
Secure prompt: you type, AI never sees
Agent: "log into site X"
Browser fills the form with your encrypted credentials
Agent: "get my messages"
Browses, extracts data, returns results with screenshots
Agent: "reverse-engineer the API"
Captures endpoints, auth, saves .js/.ts client files
Session saved
Cookies encrypted in SQLite. Next time, already logged in.

What's inside

Browser
Patchright (patched Playwright + Chromium) with stealth fingerprinting
Warm daemon
One shared local server keeps the browser warm between calls, the CLI is as fast as the MCP, no per-call cold start
Extension
Drive tabs in your real Chrome over a CDP relay: same engine, your live session, any open tab
Sessions
AES-256 encrypted cookies + localStorage in SQLite, shared across every browser mode
Credentials
Encrypted server-side, write-only API: no endpoint returns passwords
Captcha
Vision-based solver using Claude (reCAPTCHA + hCaptcha)
Live view
headful on your desktop, or invisible via Docker with noVNC
API capture
Reverse-engineer any site: records endpoints, auth, bodies, exports .js/.ts
MCP
10 tools: status, browse, execute, session, credentials, knowledge, reverse-engineer, remember, tabs, clipboard

Full breakdown of the daemon, the flow, and the stack: architecture. Everything an agent actually calls: agent docs.

Open source · MIT license · 2026