70+ MCP tools. Framework-aware. Vision-fallback. Self-healing. Multi-agent. Local-first — your Chrome, your cookies, your machine. Credentials never touch a server. The engine is the moat. The Threads are the marketplace.
Cloud browser-automation tools (Browserbase, Skyvern Cloud, OpenAI Operator) ask you to hand over your cookies, sessions, and credentials. They run on their servers. You hope they're trustworthy.
WebLoom runs on YOUR machine. The engine is a Python MCP server that attaches to your local Chrome via Chrome DevTools Protocol. Your sessions never touch our servers because we don't HAVE servers in the loop. The marketplace site exists for buying Threads and managing payouts. The actual automation runs entirely between your laptop, your AI client, and the websites you're driving.
webloom-install.md, drop it into Claude Code (or Cursor / Continue / Cline)~/.webloom/, wires it into your MCP configSites that use Draft.js (X composer) ignore synthetic events. Lexical ignores native setters. Amazon's AUI dispatches custom event objects. WebLoom has separate tools for each: draftjs_set_text uses real CDP keystrokes with focus-settle warmup, lexical_set_text walks fiber for the editor handle, aui_dispatch fires Amazon's declarative event objects. Generic browser agents try one strategy and fail.
mcp__webloom__draftjs_set_text( container_selector="[data-testid='tweetTextarea_0']", text="real keystroke shape", delay_ms=80, verify_per_char=true # bulletproof per-char retry )
Canvas-rendered widgets (Figma comments, Miro), OAuth popups, image-only buttons — DOM strategies see nothing. vision_check snaps the viewport, sends to Claude with your question, returns {x, y} coordinates. Pair with click_at_coords for the real click. Uses YOUR Anthropic key — your spend, your control.
v = vision_check(question="click coords for publish")
# v = {ok: true, click: {x: 1240, y: 64}}
click_at_coords(x=v.click.x, y=v.click.y)When a recorded selector fails preflight, drift_heal_suggest scans the current DOM for candidates ranked by aria-name overlap + structural anchor strength (data-testid > id > name). Returns top 8 with reasons. Optionally proposes the patch back to the Thread author via author-gated review.
hints = drift_heal_suggest( old_selector="[data-testid='oldid']", descriptor="post tweet button", propose_to_marketplace=true # optional patch back ) # Returns ranked replacement candidates
Every successful action sends one anonymous telemetry row to the marketplace. Confidence-gated (only verified runs count). Strategies that win get promoted in the canonical Thread. Strategies that fail get demoted. Authors review every change before it ships. Nobody else's engine has compounding intelligence across users.
# Engine fires telemetry automatically. # Author reviews proposed patches at: https://webloom.run/admin/marketplace # Five corroborated buyers = author email alert. # Author clicks approve → patch ships to all.
enable_stealth patches navigator.webdriver, plugins, languages, WebGL vendor, chrome.runtime via persistent inject_on_new_document. solve_captcha integrates 2captcha for reCAPTCHA v2/v3, hCaptcha, Turnstile (~$0.001-0.003 per solve). run_parallel dispatches N tool calls concurrently with configurable concurrency limits.
enable_stealth(session="slot-1") # Then any anti-bot guarded site loads cleanly solve_captcha(type="turnstile", site_key="...") # Returns the token to inject into the form
Type 'publish my new book to KDP, D2D, and Apple Books using book.docx and cover.jpg'. The engine calls Claude Haiku to plan an action sequence against your installed Threads, then executes it. The LLM only orchestrates; Threads do the execution = 10x more reliable than pure-LLM browser agents that re-derive every site from scratch.
weave(goal="publish my new book to KDP and D2D",
context={book: "/path/book.docx", cover: "/path/cover.jpg"},
dry_run=true)
# Returns the action plan before executingsubscribe_to_websocket listens for frames matching a pattern (substring or regex) on the current tab. Buffer them, drain via poll_websocket_messages, fire actions on match. Unlocks notification-driven agents on Slack, Discord, real-time dashboards — the category every other browser agent misses entirely.
subscribe_to_websocket( pattern="regex:\"channel\":\"signals\"", buffer_id="sig" ) # Then poll periodically to react
The driver plans + executes. The watcher monitors the screen every few seconds for popups, captchas, error modals, session expiry. They share state and coordinate. Long high-stakes flows (multi-step publish wizards, enterprise SaaS migrations) that used to need babysitting now finish unattended. v0 ships with Driver + Watcher roles; expansion to 4-role swarms post-validation.
swarm_run( goal="Publish a new book on KDP using book.docx + cover.jpg", thread_domain="kdp.amazon.com", emit_thread=true # capture the run as a publishable Thread )
Most browser agents launch whatever Chrome they want, scrape cookies from your real profile, run headless in the background, and never tell you what they're doing. WebLoom is the opposite. The engine surfaces every consequential decision back to you or your AI before acting.
You ask 'go to my Twitter and reply'
Launches a fresh headless Chrome. No cookies. Tries to open Twitter. Hits the login wall. Fails silently. OR worse — scrapes session cookies from your real Chrome and drives it from a headless tab you can't see.
Lists Chrome sessions you already have running. Asks which slot to use (main / slot-1 / slot-2 / launch a new one). Once you pick, opens the URL. Lists the open tabs. Asks "are you logged into X in this session?" Only after you confirm does it start driving.
Site needs a click on a popup the engine can't reach
Spam-clicks the wrong elements until something works. Or moves your physical mouse cursor without warning while you're using the computer. Or crashes mid-flow with a stack trace.
Calls pause_for_human with a beep + a written reason. Asks you to handle that one click, then confirm to resume. Records the manual-touch checkpoint to the playbook so future runs know that step needs help. NEVER moves your physical cursor without explicit permission for the specific click.
Browser session expired mid-flow
Form submit fails. Agent retries. Form submit fails again. Agent retries faster. After 10 retries you get rate-limited. Your account is now flagged.
Pre-flight catches the session-expired modal. Watcher agent (in swarm mode) flags it instantly. Engine pauses with 'session expired — please log back in, then say go.' Zero wasted clicks, zero anti-bot footprint.
Drift — a selector you recorded yesterday is gone today
Click fires on nothing. Or worse, clicks the WRONG element that happened to land at the right coordinates. You don't notice. The agent reports 'success' to your AI.
Pre-flight detects the missing selector before any action runs. drift_heal_suggest scans the DOM for candidates ranked by aria-name + structural anchor. Returns the top 8 with reasons. Optionally proposes the patch to the Thread author for author-gated review. You decide.
The whole engine is built around the assumption that you are using the same computer the engine is running on. Surprise actions break trust. Politeness builds it.
Honest take. The other tools are good. They win on some dimensions. The thing nobody else has is community knowledge that compounds — that's the architectural difference that doesn't close in a quarter.
| WebLoom | Browser-Use | Stagehand | Skyvern | Computer Use | Playwright | |
|---|---|---|---|---|---|---|
| Community knowledge marketplace Per-site recipes authored by humans + verified by users. Nobody else has this. | ✅ unique | ❌ | ❌ | ❌ | ❌ | ❌ |
| Drift detection + auto-heal | ✅ | ❌ | ⚠️ partial | ⚠️ partial | ❌ | ❌ |
| Framework-aware tools (Draft.js, Lexical, AUI, Redux) | ✅ | ❌ generic | ❌ generic | ❌ generic | ❌ vision-only | ✅ via Playwright |
| Vision fallback (when DOM is opaque) | ✅ | ❌ | ⚠️ optional | ✅ | ✅ primary | ❌ |
| Local-first (credentials never leave machine) | ✅ | ✅ self-host | ✅ self-host | ❌ cloud | ❌ cloud | ✅ |
| Stealth + CAPTCHA built in | ✅ | ⚠️ | ⚠️ | ⚠️ | ❌ | ❌ |
| Multi-agent swarm Nobody else is shipping coordinated multi-agent on one browser. | ✅ v0 | ❌ | ❌ | ❌ | ❌ | ❌ |
| Network capture + XHR replay | ✅ full headers + body | ⚠️ | ⚠️ | ❌ | ❌ | ✅ |
| Real-time WebSocket primitive | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Open source | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
| Free engine | ✅ | ✅ | ✅ | ❌ pay-per-API | ❌ pay-per-call | ✅ |
The other tools are real. Browser-Use has great docs + community. Stagehand has clean semantic APIs. Skyvern has vision-first. Computer Use has anything-with-pixels reach. Playwright has cross-browser + maturity. What none of them have is a community marketplace where domain expertise compounds across every user. That's the architecture you can't fork in a weekend.
A powerful engine alone is slow + expensive — it has to figure out every site from scratch on every run. 5-15 minutes of LLM exploration + $0.30-1.00 of token costs + bot-like behavior that platforms detect.
A Thread is the compiled output of one exploration. JSON file. Runs in 30 seconds. Costs $0 in tokens per run. Looks like a returning human user to anti-bot systems. Buyers pay $4-12 once to skip the exploration forever, on every run.
The engine doesn't replace the marketplace — the engine populatesthe marketplace. The marketplace doesn't replace the engine — the marketplace monetizesthe engine's output.
You can use the engine without ever buying a Thread (free, drives any site, AI re-derives strategy each session). You can buy a Thread to instantly skip the exploration step. You can author a Thread to earn 75% of every sale. Three paths, one architecture.
Take the engine. Star it on GitHub. Use it. Modify it. Build on it. When you hit a site you'd rather not figure out yourself, the marketplace is one click away. When you become the person who already knows that site, you sell what you know.
Download the install file, drag it into Claude Code, Cursor, Continue, or Cline. The AI handles everything else.
Download install fileStar the repo. Browse the code. Fork it if you want. The engine is MIT-licensed, no obligations, no strings.
★ Star on GitHubCall the engine from non-MCP Python — CI workflows, cron jobs, server-side workers. Sync API, 70+ methods, three lines to start.
Read SDK docshonest about cost
The engine itself is free, forever. Optional AI features (vision_check, weave, swarm) use YOUR Anthropic API key — you control the spend, opt out anytime with WEBLOOM_AI=off. Threads on the Atelier are $4-12 one-time. Nothing is metered, nothing is gated behind a subscription, nothing leaves your machine without your explicit action.