Browser automation for AI agents.
An MCP server that gives any LLM a real browser. Scrape, crawl, and extract with 15 intent-based tools.
curl -fsSL https://raw.githubusercontent.com/prokopis3/webrain/main/scripts/install.sh | bashNo Node, no Python, no Docker. Runs on macOS, Linux, and Windows.
From install to scraping in three steps.
No selectors to hand-write, no daemon, no driver wiring. The binary, your client, and the model do the rest.
One binary, any OS
Install webrain once. No Node, no Python, no Docker. Engines download on demand.
curl -fsSL …/install.sh | bashRegister it in a client
Add two lines to Claude, Cursor, Copilot, or Codex. The client spawns webrain mcp.
Point the model at the web
Tell the agent what to do in plain language. It navigates, extracts, and returns structured data.
scrape product prices from URL XEverything an agent needs to read the web.
Fifteen intent-based tools cover the full job. No selectors to hand-write, no driver plumbing, no daemon.
Structured extraction
Autoschema probes the DOM, then schema, regex, table, JSON-LD, and BM25 modes return clean data.
Stealth login
Real-Chrome profiles with an encrypted local vault (AES-256-GCM) and optional TOTP. Cookies transfer across engines.
Challenge bypass
Every navigate reports a challenge field; a real-Chrome stealth sidecar solves Cloudflare and Turnstile gates.
Crawl at scale
Batch, spider, sitemap, and scan modes with auto-throttle and checkpoint/resume.
Read anything
PDF extract and render, video transcripts plus frames, downloads, JSON-LD, media, and a no-browser HTTP path.
Local AI, all OS
Bundled whisper-cli for transcripts and Qwen3-VL-2B for vision. No cloud key required. Runs fully on your machine.
One CDP backend, four ways to load a page.
Pick the right engine for the job. From a full Chrome for interactive SPAs to a no-browser HTTP fetch for static pages.
Chrome
Interactive SPAs, challenges, screenshots. Anything real Chrome can do.

Obscura
Fast batch scraping of non-challenged JS pages. No paint engine, no screenshots.
Lightpanda
Real accessibility tree, lightweight. Screenshot returns a placeholder frame.
fetch_http
Static HTML, no JS, no auth. 10-100× faster. No engine at all.
Point any LLM at the web.
No driver wiring, no browser download dance, no tool wrappers. Install once, and your agent drives a real browser.
stdio or HTTP. Works with Claude, Cursor, Copilot, Codex, Gemini.
Everything runs on your machine. No cloud, no API key, no data leaves.
Challenge bypass, encrypted vault, TOTP, and cookie transfer across engines.

How it stacks up against the alternatives.
Honest, feature-by-feature comparisons against the tools you may already be using.
Why an MCP-native tool beats a driver library for LLM agents.
Local-first and free versus a hosted API. Zero cloud, zero keys.
One binary and real CDP engines instead of a Python agent loop.
Rust-native extraction strategies and vision with no Python runtime.
Questions, answered plainly.
The objections that come up before you install. The short version: yes, it runs on your machine.
Do I need Node, Python, or Docker?
No. webrain is a single Rust binary. The browsers it drives (Chrome for Testing, Obscura, Lightpanda) download on demand into a cache dir. Nothing else to install.
Does it cost money or need an API key?
No. It is open source (MIT) and local-first. Cloud keys are optional and only for video transcriptions and vision; the bundled local whisper and Qwen3-VL-2B models work offline.
Which AI clients does it work with?
Any MCP client: Claude, Claude Code, Cursor, GitHub Copilot, Codex, Gemini, and more. Register it once in the client’s MCP config and the model drives the browser itself.
How is this different from a scraping API?
webrain runs on your machine, sends no data to a third party, and gives the LLM a real browser with stealth and challenge bypass. For static pages it can be 10-100× faster than a full browser.
Give your agent a browser in five minutes.
Install webrain, start the MCP server, and ask your LLM to scrape. No selectors, no wrappers.

