{
  "markdown": "# WebLoom Engine\n\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) [![MCP](https://img.shields.io/badge/MCP-stdio-green)](https://modelcontextprotocol.io) [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org)\n\n**Open-source Model Context Protocol server that gives AI agents 86 tools (browser-control plus marketplace + Pro subscription).** Engine for the [WebLoom marketplace](https://webloom.run/threads).\n\n> **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](./SECURITY.md) and [the transparency page](https://webloom.run/transparency) for the full data boundary.\n\n## What it does (and doesn't do)\n\n| WebLoom does | WebLoom does NOT |\n|---|---|\n| 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 |\n| Drives a real Chrome the user explicitly opens, via CDP debug port | Spawn or install Chrome itself — the user starts it |\n| Records successful actions to a local `~/.webloom/playbook.json` for next time | Send page content, URLs, cookies, or identity anywhere |\n| Optionally checks for Thread updates from webloom.run every 6h | Auto-update the engine binary itself (opt-in) |\n| Optionally sends `{tool, ok, ms}` anon stats if user runs `python server.py telemetry on` | Send anything until you explicitly enable it |\n| Writes only to `~/.webloom/` and the user's MCP config file | Touch the system PATH, registry, or any system-level config |\n\n## Quick install\n\nThe 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:\n\n```bash\ngit clone https://github.com/webloomhq/engine ~/.webloom/engine\ncd ~/.webloom/engine && pip install -r requirements.txt\nmkdir -p ~/.webloom/threads ~/.webloom/logs\n```\n\nThen add to your MCP client's config (e.g. `~/.mcp.json` under `mcpServers`):\n\n```json\n{\n  \"mcpServers\": {\n    \"webloom\": {\n      \"type\": \"stdio\",\n      \"command\": \"python\",\n      \"args\": [\"~/.webloom/engine/server.py\"]\n    }\n  }\n}\n```\n\nRestart your client. 86 tools become available under the `webloom` namespace.\n\n## What goes where on disk\n\n```\n~/.webloom/\n├── engine/          ← this repo (delete to uninstall)\n├── threads/         ← *.thread.json — site-specific knowledge packs\n├── playbook.json    ← your accumulated learning (local-only by default)\n├── config.json      ← your preferences (telemetry on/off, etc.)\n├── logs/            ← engine logs\n└── anon_id          ← random per-install id (never sent unless telemetry opted in)\n```\n\nUninstall = `rm -rf ~/.webloom/` + remove the `webloom` entry from `~/.mcp.json`. No system traces.\n\n## Privacy by default\n\n- **Telemetry:** OFF by default. Run `python server.py telemetry status` any time to check. The CLI prints the exact payload shape before enabling.\n- **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.\n- **Playbook:** local only. Never transmitted. Lives at `~/.webloom/playbook.json`. You can `cat` it.\n- **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.\n\n## Tool surface (77)\n\nCategories at a glance:\n- **Navigation:** `navigate`, `read_tab`, `screenshot`, `wait_for`, `scroll_tab`, `list_tabs`, `new_tab`\n- **Click ladder:** `click` (3 stages + vision fallback) → `click_at_coords` → `react_invoke_handler` (fiber walk)\n- **Fill ladder:** `fill` → `react_force_change` → `lexical_set_text` → `draftjs_set_text` → `key_type`\n- **Upload ladder:** `upload_file` Strategies A–E → `xhr_upload` → `replay_xhr`\n- **Network:** `start_recording`, `capture_network_start/stop`, `get_captured_requests`, `replay_xhr`, `inject_on_new_document`\n- **Per-site cracks:** `x_create_tweet` (X transaction-id RE), `tiktok_sign` + `tiktok_post_video`, more queued\n- **React internals:** `react_force_change`, `react_inspect_store`, `redux_dispatch`, `react_invoke_handler`\n- **Vision fallback:** `vision_check`, `solve_captcha` (reCAPTCHA v2)\n- **Recording → Thread:** `start_recording` → `end_recording` → `seed_from_tab` → `export_thread`\n\nFull tool reference: https://webloom.run/docs\n\n## Marketplace (optional)\n\nThe 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–12 one-time. Author share: 75% of every sale. Auto-heals on selector drift.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Security\n\nSee [SECURITY.md](./SECURITY.md). Report vulnerabilities to nanomarche@gmail.com.\n\n## Author + contact\n\nBuilt by [MarStudio](https://webloom.run). Primary contact: nanomarche@gmail.com.\n\nIssues and PRs welcome — open one at https://github.com/webloomhq/engine/issues.\n",
  "bytes": 5446,
  "sha": "e6be5540703138fbf1ebb0d77354c7bd80b2c9fe72c1033ff0797782358937af",
  "repo_slug": "webloomhq/engine",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_webloomhq_engine_82be1a89/readme"
}