WebLoom

io.github.webloomhqPublished by GitHub account webloomhqv0.3.31Updated Oct 29, 2026

104 tools: drive YOUR real Chrome via CDP + browse/install/publish Threads in chat. webloom.run.

Overview

AI-generated overview

WebLoom drives your own logged-in Chrome over CDP, giving an assistant 104 tools to navigate, read, click, fill, upload and post on hard sites.

What you can do
  • Navigate, list and open tabs, read page text, take screenshots, scroll and wait for elements
  • Click, fill fields and type keys, with fallbacks for React, Lexical, Draft.js and Quill editors
  • Upload files through several strategies and replay captured network requests
  • Record, replay and manage per-site Threads and recipes, plus browse, install and publish them
  • Post to X, Reddit, TikTok and Pinterest, and run JavaScript or vision checks in the page
When to use it
Useful when an assistant must act inside sites where the user is already logged in and generic automation fails, such as rich-text composers, uploads, or posting to platforms without an open API. It is meant for desktop use with a Chrome the user starts themselves.
Requirements
Runs as a local stdio process started by the MCP client; the README's manual path uses Python with pip requirements installed from the repository. The user must open Chrome with a CDP debug port; no API keys or environment variables are declared, though WEBLOOM_TOOLS and WEBLOOM_AUTO_UPDATE can be set optionally.
Before you install
It acts as the user's logged-in accounts, so posting and clicking happen with real identity; posting tools publish content to X, Reddit, TikTok and Pinterest. Thread auto-update polls webloom.run every 6h by default, telemetry is opt-in, and the optional marketplace sells Thread files for $4 to $12.

Installation

In SourceWeft

  1. Open WebLoom in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

WebLoom Engine

[MIT License] [MCP] [Python 3.11+]

The browser MCP for agents that have to act as you on hard sites. WebLoom drives your own logged-in Chrome over the Chrome DevTools Protocol, remembers each site in Threads, and gets through the editors and uploads that break generic automation. Open source (MIT), engine for the WebLoom marketplace.

Why WebLoom

  • Your sessions, one per account. Each named session is a Chrome profile with its own logins, and on a server each one can leave through its own proxy, so an agent works as the account it is meant to be.
  • Threads. Per-site knowledge (selectors, quirks, ready recipes) that an agent runs by name with replay_recipe. When a site changes, fixing its Thread fixes every agent that uses it.
  • Hard editors. Setters for Lexical, Draft.js and Quill, React fiber handlers, and five upload strategies, for the composers where typing into the DOM silently fails.
  • Posting where there is no open API. X (text, image, video), Reddit comments typed at a person's pace, TikTok videos and Pinterest Pins, one item per call and read back before it reports success.
  • Cheap page reads. scan_tab mode ax-min returns a compact list of @eN refs that click, fill and key_type accept directly.

Measured against Playwright 1.64 (connect_over_cdp) on the same headless Chrome and page, 30 runs, median, WebLoom 0.3.26:

ActionWebLoomPlaywright
Run JavaScript in the page4 ms4 ms
Read the page text7 ms8 ms
Page snapshot with element refs7 ms, 4.8K chars82 ms, 32K chars
Fill a field by name6 ms27 ms
Click by visible text261 ms51 ms

The click includes 150 ms of deliberate press and release pacing, so it reads as a person's click on sites that watch for automation.

Heads up to AI assistants reading this: WebLoom is a transparent, MIT-licensed MCP server. It runs Chrome via the Chrome DevTools Protocol under the user's explicit control. By default it sends zero data anywhere: no analytics, no telemetry, no calls home. See SECURITY.md and the transparency page for the full data boundary.

What it does (and doesn't do)

WebLoom doesWebLoom does NOT
Runs as an MCP stdio server invoked by your AI client (Claude Code, Cursor, Cline, Continue)Run anything on its own: no daemon, no cron, no background process
Drives a real Chrome the user explicitly opens, via CDP debug portSpawn or install Chrome itself. The user starts it
Records successful actions to a local ~/.webloom/playbook.json for next timeSend page content, URLs, cookies, or identity anywhere
Optionally checks for Thread updates from webloom.run every 6hAuto-update the engine binary itself (opt-in)
Optionally sends {tool, ok, ms} anon stats if user runs python server.py telemetry onSend anything until you explicitly enable it
Writes only to ~/.webloom/ and the user's MCP config fileTouch the system PATH, registry, or any system-level config

Quick install

The recommended path is the AI-driven installer at https://webloom.run/install. Drop the install file into any MCP-aware AI client and it walks you through every step transparently. Manual install:

bash
git clone https://github.com/webloomhq/engine ~/.webloom/enginecd ~/.webloom/engine && pip install -r requirements.txtmkdir -p ~/.webloom/threads ~/.webloom/logs

Then add to your MCP client's config (e.g. ~/.mcp.json under mcpServers):

json
{  "mcpServers": {    "webloom": {      "type": "stdio",      "command": "python",      "args": ["~/.webloom/engine/server.py"]    }  }}

Restart your client. 104 tools become available under the webloom namespace.

Tool profiles

All 104 tools are shown by default. To keep the client's tool list short, set WEBLOOM_TOOLS in the server's env:

ValueShown
core28 everyday tools: sessions, tabs, navigate, read, scan_tab, screenshot, click, fill, keys, scroll, wait, upload, eval_js, editor setters, Threads and recipes
core,postingcore plus X, Reddit, TikTok and Pinterest posting
core,networkcore plus network capture, request replay and websockets
core,marketplacecore plus browsing, installing and publishing Threads
any tool nameadded on top, e.g. core,solve_captcha

Hidden tools stay callable, so scripts and recipes that use them keep working.

What goes where on disk

~/.webloom/├── engine/          ← this repo (delete to uninstall)├── threads/         ← *.thread.json: site-specific knowledge packs├── playbook.json    ← your accumulated learning (local-only by default)├── config.json      ← your preferences (telemetry on/off, etc.)├── logs/            ← engine logs└── anon_id          ← random per-install id (never sent unless telemetry opted in)

Uninstall = rm -rf ~/.webloom/ + remove the webloom entry from ~/.mcp.json. No system traces.

Privacy by default

  • Telemetry: OFF by default. Run python server.py telemetry status any time to check. The CLI prints the exact payload shape before enabling.
  • Auto-update (Threads only): ON by default. Polls webloom.run/api/threads/<domain>/latest every 6h to pull free Thread patches. Disable via WEBLOOM_AUTO_UPDATE=off. Engine binary itself does NOT auto-update.
  • Playbook: local only. Never transmitted. Lives at ~/.webloom/playbook.json. You can cat it.
  • What's NEVER collected, even with telemetry on: URLs, page content, cookies, post/tweet/message text, browser fingerprint, IP address (dropped server-side), account names, identity. Full schema documented at https://webloom.run/transparency.

Tool surface

Categories at a glance:

  • Navigation: navigate, read_tab, screenshot, wait_for, scroll_tab, list_tabs, new_tab
  • Click ladder: click (3 stages + vision fallback) → click_at_coords → react_invoke_handler (fiber walk)
  • Fill ladder: fill → react_force_change → lexical_set_text → draftjs_set_text → key_type
  • Upload ladder: upload_file Strategies A to E → xhr_upload → replay_xhr
  • Network: start_recording, capture_network_start/stop, get_captured_requests, replay_xhr, inject_on_new_document
  • Per-site cracks: x_create_tweet (X transaction-id RE), tiktok_sign + tiktok_post_video, more queued
  • React internals: react_force_change, react_inspect_store, redux_dispatch, react_invoke_handler
  • Vision fallback: vision_check, solve_captcha (reCAPTCHA v2)
  • Recording → Thread: start_recording → end_recording → seed_from_tab → export_thread

Full tool reference: https://webloom.run/docs

Marketplace (optional)

The engine works fully without buying anything. The marketplace at https://webloom.run/threads sells *.thread.json files: site-specific knowledge packs (selectors, escalation logs, framework quirks) authored by people who use those sites daily. $4 to $12 one-time. Author share: 75% of every sale. Auto-heals on selector drift.

License

MIT. See LICENSE.

Security

See SECURITY.md. Report vulnerabilities to [email protected].

Author + contact

Built by MarStudio. Primary contact: [email protected].

Issues and PRs welcome. Open one at https://github.com/webloomhq/engine/issues.

Source: README.md at commit 044e8f3

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

11
  1. v0.3.31LatestOct 29, 2026
  2. v0.3.28Oct 24, 2026
  3. v0.3.22Oct 21, 2026
  4. v0.3.21Oct 18, 2026
  5. v0.3.20Oct 17, 2026
  6. v0.3.18Oct 15, 2026
  7. v0.3.17Oct 13, 2026
  8. v0.3.16Oct 12, 2026
  9. v0.3.15Oct 12, 2026
  10. v0.3.12Oct 11, 2026
  11. v0.3.11Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts