@weavetab/mcp 2.5.0-beta.4 → 2.5.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +216 -631
  2. package/README.md +153 -271
  3. package/dist/cdp/connector.js +2 -2
  4. package/dist/cli/plugin.d.ts +1 -0
  5. package/dist/cli/plugin.js +60 -4
  6. package/dist/config/loader.d.ts +1 -1
  7. package/dist/config/loader.js +1 -1
  8. package/dist/index.js +42 -6
  9. package/dist/plugin/interface.d.ts +14 -5
  10. package/dist/plugin/loader.d.ts +0 -3
  11. package/dist/plugin/loader.js +78 -15
  12. package/dist/plugin/registry.d.ts +2 -1
  13. package/dist/plugin/registry.js +21 -12
  14. package/dist/security/secrets.d.ts +6 -0
  15. package/dist/security/secrets.js +24 -0
  16. package/dist/server.js +36 -33
  17. package/dist/tools/browser_detect.js +2 -2
  18. package/dist/tools/captcha.js +1 -1
  19. package/dist/tools/navigate.d.ts +1 -1
  20. package/dist/tools/navigate.js +5 -5
  21. package/dist/tools/tabs.js +1 -1
  22. package/dist/version.d.ts +1 -1
  23. package/dist/version.js +1 -1
  24. package/docs/DOCUMENTATION.md +18 -11
  25. package/docs/PLUGINS.md +5 -5
  26. package/docs/TOOLS.md +54 -56
  27. package/docs/architecture/overview.md +1 -1
  28. package/docs/architecture/security.md +8 -7
  29. package/docs/architecture/transport.md +2 -2
  30. package/docs/cli/cli-commands.md +7 -1
  31. package/docs/cli/cli-flags.md +15 -7
  32. package/docs/cli/cli-scripting.md +6 -3
  33. package/docs/configuration/config-locations.md +3 -4
  34. package/docs/configuration/env-variables.md +4 -4
  35. package/docs/desktop-automation/electron-apps.md +3 -6
  36. package/docs/get-started/introduction.md +4 -4
  37. package/docs/get-started/setup-wizard.md +7 -6
  38. package/docs/tools/tools.md +1 -1
  39. package/docs/troubleshooting/trouble-browser.md +1 -1
  40. package/icon.png +0 -0
  41. package/mcp.json +2 -20
  42. package/package.json +118 -118
  43. package/server.json +4 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Weavetab — tools/navigate.ts
2
+ * Weavetab — tools/navigate.ts
3
3
  * URL navigation with domain blocklist enforcement and post-navigation DOM stability wait.
4
4
  * Weavetab by fy2ne
5
5
  */
@@ -71,10 +71,10 @@ export async function weaveNavigate(session, url, config, targetId = "default",
71
71
  }
72
72
  }
73
73
  // Extension pages: open in new tab instead of navigating current tab
74
- // (chrome-extension:// pages use a different process context — Page.navigate
74
+ // (chrome-extension:// pages use a different process context — Page.navigate
75
75
  // can break the CDP session or not fire loadEventFired properly)
76
76
  if (parsed.protocol === 'chrome-extension:') {
77
- logDebug(`[weaveNavigate] Extension URL detected — opening in new tab: ${parsed.href}`);
77
+ logDebug(`[weaveNavigate] Extension URL detected — opening in new tab: ${parsed.href}`);
78
78
  const { sendToExtension } = await import("../cdp/helpers.js");
79
79
  await sendToExtension(session, { type: 'Weavetab_STATE', hud: { action: `opening extension page...` } });
80
80
  const { WeavetabOpen } = await import("./tabs.js");
@@ -98,7 +98,7 @@ export async function weaveNavigate(session, url, config, targetId = "default",
98
98
  }
99
99
  }
100
100
  catch { /* overlay install is best-effort */ }
101
- logAction("browser_go", url, `opened extension tab ${openRes.tabId}`);
101
+ logAction("browser_navigate", url, `opened extension tab ${openRes.tabId}`);
102
102
  return {
103
103
  success: true,
104
104
  url: openRes.url,
@@ -194,7 +194,7 @@ export async function weaveNavigate(session, url, config, targetId = "default",
194
194
  if (active)
195
195
  active.url = finalUrl;
196
196
  sendToExtension(session, { type: 'Weavetab_STATE', cursor: { x: 10, y: 10 }, state: 'idle', hud: { action: '' } }).catch(() => { });
197
- logAction("browser_go", url, `arrived at ${title}`);
197
+ logAction("browser_navigate", url, `arrived at ${title}`);
198
198
  // Bump the visit counter for this domain exactly once per navigation
199
199
  bumpVisitCount(parsed.hostname).catch(() => { });
200
200
  return { success: true, url: finalUrl, title, tab_id: resolvedTargetId };
@@ -17,7 +17,7 @@ function resolvePort(_config, appName) {
17
17
  }
18
18
  const port = getPort() || readLock()?.port;
19
19
  if (!port)
20
- throw new Error("[!] No active browser session. Run browser_go first.");
20
+ throw new Error("[!] No active browser session. Run browser_navigate first.");
21
21
  return port;
22
22
  }
23
23
  const IDLE_THRESHOLD_MS = 30_000;
package/dist/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Weavetab Version Constant
3
3
  * Single source of truth for runtime versioning.
4
4
  */
5
- export declare const WEAVETAB_VERSION = "2.5.0-beta.4";
5
+ export declare const WEAVETAB_VERSION = "2.5.0-beta.5";
package/dist/version.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * Weavetab Version Constant
3
3
  * Single source of truth for runtime versioning.
4
4
  */
5
- export const WEAVETAB_VERSION = "2.5.0-beta.4";
5
+ export const WEAVETAB_VERSION = "2.5.0-beta.5";
@@ -65,7 +65,7 @@ MCP Client → stdio/WebSocket → WithSecurity Pipeline → CDP WebSocket → C
65
65
 
66
66
  All tools share: Zod schema validation, `withSecurity()` pipeline (rate limiting + domain policy + RBAC), structured audit logging.
67
67
 
68
- ### Vision & Reading (7 tools)
68
+ ### Vision & Reading (8 tools)
69
69
 
70
70
  | Tool | Description |
71
71
  |------|-------------|
@@ -76,6 +76,7 @@ All tools share: Zod schema validation, `withSecurity()` pipeline (rate limiting
76
76
  | `browser_snapshot` | MHTML capture/restore of DOM state + resources |
77
77
  | `browser_screenshot` | PNG/JPEG capture via CDP, full-page + clip region, returns base64 data URL (no file pollution) |
78
78
  | `browser_console` | Read/clear buffered console logs and exceptions |
79
+ | `browser_extract_design` | Extract design tokens, typography, colors, and clean CSS with pixel fidelity |
79
80
 
80
81
  ### Navigation (1 tool)
81
82
 
@@ -116,14 +117,15 @@ All tools share: Zod schema validation, `withSecurity()` pipeline (rate limiting
116
117
  | Tool | Description |
117
118
  |------|-------------|
118
119
  | `browser_dialog` | Accept/dismiss JavaScript alert/confirm/prompt dialogs |
119
- | `browser_thought` | Green thought bubbles: feedback (one-way) or question with input (sentence/paragraph modes) |
120
+ | `browser_thoughts` | Green thought bubbles: feedback (one-way) or question with input (sentence/paragraph modes) |
120
121
  | `browser_clipboard` | System clipboard R/W (text + images) |
121
122
 
122
- ### Wait & Timing (1 tool)
123
+ ### Wait & Timing (2 tools)
123
124
 
124
125
  | Tool | Description |
125
126
  |------|-------------|
126
127
  | `browser_wait` | Wait for element/text/URL/stable/network/auto — timeout configurable, optional loop counter reset (`reset_loop: true`) |
128
+ | `browser_captcha` | Autonomous zero-API detection and solving for Cloudflare Turnstile, reCAPTCHA v2/v3, GeeTest, and hCaptcha via CDP mouse physics |
127
129
 
128
130
  ### Storage & Cookies (2 tools)
129
131
 
@@ -132,11 +134,12 @@ All tools share: Zod schema validation, `withSecurity()` pipeline (rate limiting
132
134
  | `browser_storage` | localStorage & sessionStorage get/set/clear |
133
135
  | `browser_cookies` | Cookies get/set/delete |
134
136
 
135
- ### Device & Environment (1 tool)
137
+ ### Device & Environment (2 tools)
136
138
 
137
139
  | Tool | Description |
138
140
  |------|-------------|
139
141
  | `browser_viewport` | Viewport, device emulation, geolocation, timezone override |
142
+ | `browser_emulate` | Network throttling (3G/4G/offline), CPU slowdown, geolocation, timezone, and User-Agent override |
140
143
 
141
144
  ### Network (1 tool)
142
145
 
@@ -176,12 +179,15 @@ All tools share: Zod schema validation, `withSecurity()` pipeline (rate limiting
176
179
  |------|-------------|
177
180
  | `browser_github` | Action-based repo metadata analysis, raw source file reading, issue triage, and PR inspection |
178
181
 
179
- ### Utility (2 tools)
182
+ ### Utility (5 tools)
180
183
 
181
184
  | Tool | Description |
182
185
  |------|-------------|
183
- | `browser_thoughts` | Ask user a question or show a green sticky feedback |
184
- | Plugins | Dynamic loading from any npm package with `weavetab.json` (or `@weavetab/plugin-*`) |
186
+ | `list_plugins` | Inspect installed SDK plugins, loaded tool overrides, and capability manifests |
187
+ | `load_plugin` | Dynamically load a Weavetab plugin by npm package name with isolated sandboxing |
188
+ | `browser_checkpoint` | Snapshot and restore browser state (cookies, storage, scroll/URL) into named checkpoints for time-travel and rollback |
189
+ | `browser_pattern_learn` | Read, register, and update named workflow patterns and site quirks per origin |
190
+ | `browser_office` | Parse Word (`.docx`), Excel (`.xlsx`), PDF, and CSV files into structured data |
185
191
 
186
192
  ---
187
193
 
@@ -341,10 +347,11 @@ Configure policies directly in your config file (or via `~/.Weavetab/policy.json
341
347
 
342
348
  | Role | Permissions |
343
349
  |------|-------------|
344
- | `admin` | Full access to all tools and system operations |
345
- | `operator` | Full tool access except system operations (logs, detect, performance) |
346
- | `viewer` | Read-only access to observation tools only |
347
- | `automation` | Restricted to burst/plan/wait/map for automated workflows |
350
+ | `admin` | Full access to all tools |
351
+ | `operator` | Full access to all tools (standard agent role) |
352
+ | `viewer` | Read-only observation tools only (`browser_map`, `browser_find`, `browser_scrape`, `browser_console`, `browser_eval`, `browser_inspect`, `browser_extract_design`, `browser_snapshot`, `browser_screenshot`, `browser_pdf`, `browser_cookies`, `browser_tabs`, `browser_wait`, `browser_pattern_learn`, `browser_github`) |
353
+ | `automation` | Full access except `browser_thoughts` (non-interactive CI/CD mode) |
354
+ | `system` | Internal tools only (`browser_thoughts`, `browser_detect`, `browser_performance`, `browser_checkpoint`, `browser_pattern_learn`) |
348
355
 
349
356
  ### Setting Role
350
357
 
package/docs/PLUGINS.md CHANGED
@@ -1,6 +1,6 @@
1
- # Weavetab Plugin System & SDK Specification
1
+ # Weavetab Plugin System & SDK Specification
2
2
 
3
- > **Version:** 2.5.0-beta.2 | **SDK:** @weavetab/sdk | **License:** AGPL-3.0-only
3
+ > **Version:** 2.5.0-beta.5 | **SDK:** @weavetab/sdk (MIT) | **Runtime:** AGPL-3.0-only
4
4
 
5
5
  The **Weavetab Plugin System** allows developers to extend the MCP runtime with custom tools, visual HUD overlays, thought bubbles, lifecycle hooks, and tool overrides.
6
6
 
@@ -9,14 +9,14 @@ The **Weavetab Plugin System** allows developers to extend the MCP runtime with
9
9
  ## 1. Quick Start
10
10
 
11
11
  ### Scaffold a New Plugin
12
- `ash
12
+ ````bash
13
13
  npx @weavetab/sdk init my-custom-plugin
14
14
  cd my-custom-plugin
15
15
  npm install
16
16
  `
17
17
 
18
18
  ### Build & Compile
19
- `ash
19
+ ````bash
20
20
  npm run build
21
21
  `
22
22
 
@@ -104,7 +104,7 @@ Plugins require a weavetab.json manifest in their package root:
104
104
 
105
105
  ## 5. Installing Plugins
106
106
 
107
- `ash
107
+ ```bash
108
108
  # Install an official plugin
109
109
  weavetab plugin add @weavetab/plugin-youtube
110
110
 
package/docs/TOOLS.md CHANGED
@@ -1,56 +1,54 @@
1
- # Weavetab MCP Tool Reference
2
-
3
- > **Version:** 2.5.0-beta.4 | **Total Tools:** 44 | **Architecture:** Layer 0 Direct CDP
4
-
5
- Weavetab provides 44 production-grade MCP tools organized into functional categories.
6
-
7
- | Tool Name | Category | Description | Key Features |
8
- | :--- | :--- | :--- | :--- |
9
- | `browser_map` | `vision` | Snapshot interactive DOM with stable ref IDs (w:NN). For complex SPAs, use scope or query to constrain tokens. Supports delta temporal diffing (up to 97% token reduction), semantic pruning (dropping hidden elements), Set-of-Marks visual grounding (visual: true / "auto" for canvas/WebGL pages), AX tree fallback (Shadow DOM traversal), scope filtering, query filtering, and forced rebuilds with automatic loop strike reset (force: true). | Semantic DOM pruning (up to 97% token reduction with delta), Set-of-Marks visual grounding (visual: true / "auto"), Per-tab snapshot temporal diffing (delta mode) |
10
- | `browser_navigate` | `navigation` | Navigate to a URL. Enforces domain security policies and rate limits prior to navigation. Waits for network idle and DOM readiness. Supports internal protocol schemes (e.g. weavetab://). | Domain policy engine and blocklist enforcement, Deterministic DOM stability and network idle waiting, weavetab:// internal protocol support |
11
- | `browser_click` | `input` | Click a DOM element. Physical click engine incorporating Bézier curve trajectory kinematics (Ghost Cursor). Multi-stage targeting fallback: mark number (SoM visual grounding) -> ref ID -> selector -> label -> intent -> coordinates -> backendNodeId. | Direct mark number targeting (mark: N) from visual mode, Bézier curve trajectory kinematics, Humanized acceleration and velocity curves |
12
- | `browser_type` | `input` | Type text into a single input field. Keystroke dispatch engine with per-character temporal jitter and burst profiling. Real-time DOM-diffing monitors stuck input state. Supports atomic clearFirst and clipboard paste modes. | Per-character temporal jitter simulation, Burst keystroke profiling, Stuck-typing loop detection via DOM diffing |
13
- | `browser_type_secret` | `input` | Inject a secret from an environment variable / secrets.json. Blind Injection: securely injects credentials without exposing sensitive values to the LLM context. Permanently masked as [REDACTED] in DOM maps and logs. | Zero LLM context exposure for credentials, Domain-scoped authorization checks, Shadow DOM input isolation |
14
- | `browser_key` | `input` | Press a keyboard key. Dispatches native hardware key events with modifier key support (Ctrl, Shift, Alt, Meta) to focused elements. | Native key code and key identifier mapping, Modifier key combination handling, Per-tab keyboard focus targeting |
15
- | `browser_scroll` | `input` | Scroll the page or targeted element. Smooth scrolling engine via CDP Input.dispatchMouseEvent wheel events. Supports directional delta scrolling and element-relative scroll centering. | Directional scrolling (up, down, left, right), Configurable pixel scroll distance, Element-relative scroll targeting via ref ID or label |
16
- | `browser_dialog` | `dialog_and_interaction` | Accept or dismiss JS dialogs (alert, confirm, prompt) via CDP Page.handleJavaScriptDialog. | Handling of alert, confirm, and prompt modal types, Accept and dismiss actions, Prompt response text payload submission |
17
- | `browser_burst` | `mission_execution` | HIGH-SPEED MULTI-ACTION PIPELINE: Executes 2 or more sequential browser actions in a single round-trip without waiting for LLM turns between steps. PREFER THIS over individual single-action calls to slash latency and token burn. Supports native primitives (browser_click, browser_fill, browser_type, browser_type_secret, browser_navigate, browser_key, browser_scroll, browser_wait, browser_map) plus compound macros (type_and_send, click_and_wait, navigate_and_read, scroll_and_read, fill_form). If compile_from_history: true is passed, automatically compiles and executes recent successful session trail actions into a burst macro. | Single-request multi-action pipeline execution with zero intermediate LLM round-trips, Compound macro abstractions (type_and_send, click_and_wait, navigate_and_read, scroll_and_read, fill_form, drag_and_drop, hover_and_read), Automatic session history compilation into replayable burst macros (compile_from_history: true) |
18
- | `browser_tabs` | `tabs` | Manage browser and Electron app tabs/windows (open, switch, close, list). Specify 'app' when targeting desktop apps (e.g. app: 'discord') to avoid opening web browser. | Single and batch tab operations, Duplicate tab consolidation, Crash session recovery (heal) |
19
- | `browser_wait` | `navigation` | Pause until a condition is met ('element', 'text', 'url', 'stable', 'network', 'auto'). Deterministic wait engine for asynchronous web state synchronization. | Element, text, URL, DOM stability, and network idle conditions, Configurable timeout thresholds, Per-tab asynchronous execution target |
20
- | `browser_captcha` | `safety` | Autonomous zero-API detection and solving of Turnstile, reCAPTCHA, GeeTest, and hCaptcha bot challenges using local CDP behavioral solvers. | Zero-API autonomous solving, Cloudflare Turnstile, reCAPTCHA v2/v3, GeeTest, and hCaptcha support, Human oversight fallback via wait_for_user |
21
- | `browser_thoughts` | `dialog_and_interaction` | Agent-to-user communication layer rendered in the middle down of the page. Supports question mode (interactive prompt with answer submission) and feedback mode (status, observation, decision, or warning update). Supports contextual element anchoring (anchor: 'w:NN') and visual styles ('observation', 'decision', 'warning', 'question'). | Middle-down floating card HUD with precision dark styling, Contextual element anchoring (anchor: 'w:NN') with auto-highlighting, Feedback mode (observation, decision, warning updates) |
22
- | `browser_pointer` | `input` | Advanced pointer control (hover, click, double_click, drag_and_drop) with Bézier curve kinematics. Supports waitForChild pattern for dynamic flyout menus. | Hover, click, double_click, and drag_and_drop actions, Bézier curve cursor motion, waitForChild trigger menu resolution |
23
- | `browser_select` | `input` | Select an option from a native dropdown by visible text or value. Uses native property setters and dispatches input/change events for framework compatibility (React, Vue, Angular). | Option matching by visible text or value, Framework-safe prototype property setter invocation, Synthetic input and change event dispatch |
24
- | `browser_fill` | `input` | Smart multi-field form-filling. Evaluates field control types (text, select, checkbox, radio, contenteditable) and processes inputs sequentially with atomic verification. | Multi-field batch input execution, Automatic control type classification, Per-field post-input verification |
25
- | `browser_highlight` | `canvas_and_visual` | Highlight elements on page. Renders temporary visual overlays over target elements without DOM tree mutations. Supports multi-element consideration overlays (refs: ['w:12', 'w:15']), presentation styles ('consideration', 'target', 'danger', 'success', 'shimmer'), floating badges, and configurable durations. | Multi-candidate consideration overlay (refs array), Five visual styles: consideration, target lock, danger, success, shimmer, Floating label badge display above highlighted elements |
26
- | `browser_upload` | `input` | Upload files to a file input. Bypasses OS native file pickers via CDP DOM.setFileInputFiles directly targeting file input node IDs using absolute file paths. | Direct CDP file payload injection, Multi-file payload support, Zero OS file picker interaction required |
27
- | `browser_find` | `vision` | Sub-5ms CDP text search. Zero token waste. Best for locating specific keywords/text on page without a full DOM walk. | Native CDP search (zero DOM walk overhead), Sub-5ms execution latency, Exact keyword matching and match indexing |
28
- | `browser_storage` | `storage_and_cookies` | Manage localStorage and sessionStorage. Reads, writes, and clears key-value pairs for the active origin. | localStorage and sessionStorage scope targeting, Atomic key-value retrieval and mutation, Origin storage purging |
29
- | `browser_checkpoint` | `storage_and_cookies` | Snapshot and restore browser state (cookies, localStorage, sessionStorage, and scroll/URL) into named checkpoints to time-travel and rollback failed automation branches. | Session state time-travel and rollback, Cookies backup and restoration (HttpOnly and Secure via CDP), LocalStorage and SessionStorage snapshotting |
30
- | `browser_network_intercept` | `network` | Intercept/stub network responses (mock APIs, block tracking) and capture raw protocol network telemetry (TLS/SSL certificate metadata, microsecond timing breakdown, and OS-level network failure reasons). | URL glob pattern matching and response mocking, TLS/SSL Certificate security metadata (issuer, protocol, validity, cipher), Microsecond Network Timing breakdown (DNS, TCP, SSL, send, TTFB, download) |
31
- | `browser_console` | `vision` | 1-5ms latency access to buffered browser console messages, JS exceptions, and network errors tracked via CDP Runtime.consoleAPICalled. | Buffered console output stream retrieval, Buffer clearance actions, Runtime exception stack capture |
32
- | `browser_pdf` | `output` | Print the current page to a PDF file via CDP Page.printToPDF with configurable orientation, scale, and page ranges. | Landscape and portrait orientation options, Print scale factor adjustment, Page range subset printing |
33
- | `browser_eval` | `evaluation` | Run arbitrary JS via CDP in page context via CDP Runtime.evaluate. Supports asynchronous evaluation and structured JSON serialization. | Page JS context execution, Async/await promise resolution, Structured JSON return serialization |
34
- | `browser_cookies` | `storage_and_cookies` | Manage browser cookies. Full CRUD management for HTTP and document cookies via CDP Network domain. | Cookie property retrieval, setting, and deletion, Domain and path attribute scoping |
35
- | `browser_canvas` | `canvas_and_visual` | For ALL canvas content (charts, games, graphs). Use get_image to read pixel data as Base64 PNG, draw to simulate programmatic coordinate gesture paths. | Base64 PNG pixel buffer export, Programmatic gesture path drawing, Canvas node targeting via ref ID or selector |
36
- | `browser_scrape` | `vision` | Sub-5ms latency, zero waste extraction via CSS or XPath selectors in a single CDP evaluation step. Returns structured text/attribute arrays. | CSS and XPath query evaluation, Targeted attribute extraction, Single-step execution (high throughput) |
37
- | `browser_snapshot` | `vision` | Capture or restore an MHTML snapshot (DOM + inline assets). Facilitates offline state serialization, replay verification, and compliance auditing. | Full DOM and asset stream serialization, Atomic capture and restore operations, Offline state audit capability |
38
- | `browser_screenshot` | `vision` | 95-135ms capture latency via CDP Page.captureScreenshot. Supports PNG and JPEG formats, full-page rendering, and clip region bounding boxes. | Full-page and viewport bounding box capture, PNG and JPEG format encoding, Custom clip region bounding box support |
39
- | `browser_viewport` | `device_and_environment` | Set viewport dimensions and device emulation (width, height, DPR, mobile, geolocation, timezone, locale, color scheme). | Viewport width, height, and DPR emulation, Mobile viewport and touch event emulation, Geolocation coordinate override |
40
- | `browser_clipboard` | `dialog_and_interaction` | Read or write to the system clipboard (plaintext or Base64 image payload data). | Read and write data operations, Plaintext and Base64 image payload format support |
41
- | `browser_inspect` | `vision` | 15-35ms latency, zero waste. Deep DOM inspection returning computed styles, inline styles, box model dimensions, and attached event listener types. | Computed CSS style property inspection, Event listener type registration enumeration, Box model geometry verification |
42
- | `browser_extract_design` | `vision` | Extract design tokens (colors, typography, spacing, shadows, CSS variables), semantic HTML layouts, and clean CSS into structured files and an LLM design blueprint. Ideal for cloning websites, UI components, and design systems with 100% pixel fidelity. | CSS custom properties and design token harvesting, Palette extraction and typography hierarchy mapping, Semantic clean DOM extraction with inline SVGs preserved |
43
- | `browser_automation` | `mission_execution` | Inject self-running background script for monitoring/polling. Inject persistent scripts into the page context for continuous event tracking. | Background script context injection, Named automation script management, Decoupled event monitoring lifecycle |
44
- | `browser_recording` | `output` | Record video screencasts of browser sessions. Automatically compiles captured frames into animated video files (.webp, .gif, .webm, .mp4) using native Node processing or system ffmpeg. | Native WebP/GIF animation compilation in pure Node, Configurable FPS and frame limits, FFmpeg fallback for WebM/MP4 encoding |
45
- | `browser_detect` | `tabs` | CRITICAL INITIALIZATION TOOL. Detect available browsers and configured desktop apps (Discord, Slack, etc.). Call this FIRST before interacting with the environment to know if apps are online/offline and what tabs they have open. | Local browser engine discovery, Engine CDP API coverage analysis, Tool compatibility reporting per browser engine |
46
- | `browser_performance` | `performance` | Retrieve page performance metrics. Collects Core Web Vitals (FCP, LCP, CLS) and detailed network resource timing distributions. | First Contentful Paint (FCP) and Largest Contentful Paint (LCP) capture, Cumulative Layout Shift (CLS) tracking, Resource loading timing distributions |
47
- | `browser_pattern_learn` | `memory` | Read (action=get), register (action=learn), update, or record execution outcome for a named workflow pattern on a given origin in ~/.weavetab-system/memory/sites/. Use action=get at session start to inspect site profiles and reliability scores. Use learn after completing a flow to persist it for future fast-path replay. | Site profile inspection via action=get (reads ~/.weavetab-system/memory/sites/), Named pattern creation and update (merge-on-write, no duplicates), Volatile selector stabilization before persistence |
48
- | `browser_github` | `github` | Interact with GitHub repositories without burning browser turns. Analyze repo trees, read raw source files, search/inspect issues, and examine PR diffs and review comments. | Action-based repo analysis, file reading, issues, and PR review, Zero GitHub API token requirement for raw reads, Automated active tab repository context resolution |
49
- | `browser_office` | `documents` | Read and extract structured content from office documents (Excel, Word, PDF, CSV) via live browser session cookies or local downloads directory. | In-session authenticated document fetching, Structured tabular extraction (.xlsx, .csv), Document text and metadata extraction (.docx, .pdf) |
50
- | `browser_emulate` | `environment` | Emulate browser environmental conditions over CDP: network throttling profiles, CPU slowdown multipliers, geolocation overrides, timezone IDs, and custom User-Agent strings. | Network throttling (Offline, Slow 3G, Fast 3G, 4G), CPU throttling multipliers, Geolocation and timezone overrides |
51
- | `list_plugins` | `plugins` | Inspect installed Weavetab SDK plugins, available unloadable plugins, tool overrides, custom schemas, and capability manifests. | Installed plugin discovery, Manifest and schema introspection, Ecosystem capability listing |
52
- | `load_plugin` | `plugins` | Dynamically load any published Weavetab plugin by npm package name into the active runtime with isolated sandboxing and hot tool registration. | Dynamic npm package loading, Hot tool registration with client notification, Isolated plugin execution context |
53
-
54
- ---
55
-
56
- *Auto-generated via `npm run docs:generate` on 2026-09-24.*
1
+ # Weavetab MCP Tool Reference
2
+
3
+ > **Version:** 2.5.0-beta.5 | **Total Tools:** 42 | **Architecture:** Layer 0 Direct CDP
4
+
5
+ Weavetab provides 42 production-grade MCP tools organized into functional categories.
6
+
7
+ | Tool Name | Category | Description | Key Features |
8
+ | :--- | :--- | :--- | :--- |
9
+ | `browser_map` | `vision` | Snapshot interactive DOM with stable ref IDs (w:NN). For complex SPAs, use scope or query to constrain tokens. Supports delta temporal diffing (up to 97% token reduction), semantic pruning (dropping hidden elements), Set-of-Marks visual grounding (visual: true / "auto" for canvas/WebGL pages), AX tree fallback (Shadow DOM traversal), scope filtering, query filtering, and forced rebuilds with automatic loop strike reset (force: true). | Semantic DOM pruning (up to 97% token reduction with delta), Set-of-Marks visual grounding (visual: true / "auto"), Per-tab snapshot temporal diffing (delta mode) |
10
+ | `browser_navigate` | `navigation` | Navigate to a URL. Enforces domain security policies and rate limits prior to navigation. Waits for network idle and DOM readiness. Supports internal protocol schemes (e.g. weavetab://). | Domain policy engine and blocklist enforcement, Deterministic DOM stability and network idle waiting, weavetab:// internal protocol support |
11
+ | `browser_click` | `input` | Click a DOM element. Physical click engine incorporating Bézier curve trajectory kinematics (Ghost Cursor). Multi-stage targeting fallback: mark number (SoM visual grounding) -> ref ID -> selector -> label -> intent -> coordinates -> backendNodeId. | Direct mark number targeting (mark: N) from visual mode, Bézier curve trajectory kinematics, Humanized acceleration and velocity curves |
12
+ | `browser_type` | `input` | Type text into a single input field. Keystroke dispatch engine with per-character temporal jitter and burst profiling. Real-time DOM-diffing monitors stuck input state. Supports atomic clearFirst and clipboard paste modes. | Per-character temporal jitter simulation, Burst keystroke profiling, Stuck-typing loop detection via DOM diffing |
13
+ | `browser_type_secret` | `input` | Inject a secret from an environment variable / secrets.json. Blind Injection: securely injects credentials without exposing sensitive values to the LLM context. Permanently masked as [REDACTED] in DOM maps and logs. | Zero LLM context exposure for credentials, Domain-scoped authorization checks, Shadow DOM input isolation |
14
+ | `browser_key` | `input` | Press a keyboard key. Dispatches native hardware key events with modifier key support (Ctrl, Shift, Alt, Meta) to focused elements. | Native key code and key identifier mapping, Modifier key combination handling, Per-tab keyboard focus targeting |
15
+ | `browser_scroll` | `input` | Scroll the page or targeted element. Smooth scrolling engine via CDP Input.dispatchMouseEvent wheel events. Supports directional delta scrolling and element-relative scroll centering. | Directional scrolling (up, down, left, right), Configurable pixel scroll distance, Element-relative scroll targeting via ref ID or label |
16
+ | `browser_dialog` | `dialog_and_interaction` | Accept or dismiss JS dialogs (alert, confirm, prompt) via CDP Page.handleJavaScriptDialog. | Handling of alert, confirm, and prompt modal types, Accept and dismiss actions, Prompt response text payload submission |
17
+ | `browser_burst` | `mission_execution` | HIGH-SPEED MULTI-ACTION PIPELINE: Executes 2 or more sequential browser actions in a single round-trip without waiting for LLM turns between steps. PREFER THIS over individual single-action calls to slash latency and token burn. Supports native primitives (browser_click, browser_fill, browser_type, browser_type_secret, browser_navigate, browser_key, browser_scroll, browser_wait, browser_map) plus compound macros (type_and_send, click_and_wait, navigate_and_read, scroll_and_read, fill_form). If compile_from_history: true is passed, automatically compiles and executes recent successful session trail actions into a burst macro. | Single-request multi-action pipeline execution with zero intermediate LLM round-trips, Compound macro abstractions (type_and_send, click_and_wait, navigate_and_read, scroll_and_read, fill_form, drag_and_drop, hover_and_read), Automatic session history compilation into replayable burst macros (compile_from_history: true) |
18
+ | `browser_tabs` | `tabs` | Manage browser and Electron app tabs/windows (open, switch, close, list). Specify 'app' when targeting desktop apps (e.g. app: 'discord') to avoid opening web browser. | Single and batch tab operations, Duplicate tab consolidation, Crash session recovery (heal) |
19
+ | `browser_wait` | `navigation` | Pause until a condition is met ('element', 'text', 'url', 'stable', 'network', 'auto'). Deterministic wait engine for asynchronous web state synchronization. | Element, text, URL, DOM stability, and network idle conditions, Configurable timeout thresholds, Per-tab asynchronous execution target |
20
+ | `browser_captcha` | `safety` | Autonomous zero-API detection and solving of Turnstile, reCAPTCHA, GeeTest, and hCaptcha bot challenges using local CDP behavioral solvers. | Zero-API autonomous solving, Cloudflare Turnstile, reCAPTCHA v2/v3, GeeTest, and hCaptcha support, Human oversight fallback via wait_for_user |
21
+ | `browser_thoughts` | `dialog_and_interaction` | Agent-to-user communication layer rendered in the middle down of the page. Supports question mode (interactive prompt with answer submission) and feedback mode (status, observation, decision, or warning update). Supports contextual element anchoring (anchor: 'w:NN') and visual styles ('observation', 'decision', 'warning', 'question'). | Middle-down floating card HUD with precision dark styling, Contextual element anchoring (anchor: 'w:NN') with auto-highlighting, Feedback mode (observation, decision, warning updates) |
22
+ | `browser_pointer` | `input` | Advanced pointer control (hover, click, double_click, drag_and_drop) with Bézier curve kinematics. Supports waitForChild pattern for dynamic flyout menus. | Hover, click, double_click, and drag_and_drop actions, Bézier curve cursor motion, waitForChild trigger menu resolution |
23
+ | `browser_select` | `input` | Select an option from a native dropdown by visible text or value. Uses native property setters and dispatches input/change events for framework compatibility (React, Vue, Angular). | Option matching by visible text or value, Framework-safe prototype property setter invocation, Synthetic input and change event dispatch |
24
+ | `browser_fill` | `input` | Smart multi-field form-filling. Evaluates field control types (text, select, checkbox, radio, contenteditable) and processes inputs sequentially with atomic verification. | Multi-field batch input execution, Automatic control type classification, Per-field post-input verification |
25
+ | `browser_highlight` | `canvas_and_visual` | Highlight elements on page. Renders temporary visual overlays over target elements without DOM tree mutations. Supports multi-element consideration overlays (refs: ['w:12', 'w:15']), presentation styles ('consideration', 'target', 'danger', 'success', 'shimmer'), floating badges, and configurable durations. | Multi-candidate consideration overlay (refs array), Five visual styles: consideration, target lock, danger, success, shimmer, Floating label badge display above highlighted elements |
26
+ | `browser_upload` | `input` | Upload files to a file input. Bypasses OS native file pickers via CDP DOM.setFileInputFiles directly targeting file input node IDs using absolute file paths. | Direct CDP file payload injection, Multi-file payload support, Zero OS file picker interaction required |
27
+ | `browser_find` | `vision` | Sub-5ms CDP text search. Zero token waste. Best for locating specific keywords/text on page without a full DOM walk. | Native CDP search (zero DOM walk overhead), Sub-5ms execution latency, Exact keyword matching and match indexing |
28
+ | `browser_storage` | `storage_and_cookies` | Manage localStorage and sessionStorage. Reads, writes, and clears key-value pairs for the active origin. | localStorage and sessionStorage scope targeting, Atomic key-value retrieval and mutation, Origin storage purging |
29
+ | `browser_checkpoint` | `storage_and_cookies` | Snapshot and restore browser state (cookies, localStorage, sessionStorage, and scroll/URL) into named checkpoints to time-travel and rollback failed automation branches. | Session state time-travel and rollback, Cookies backup and restoration (HttpOnly and Secure via CDP), LocalStorage and SessionStorage snapshotting |
30
+ | `browser_network_intercept` | `network` | Intercept/stub network responses (mock APIs, block tracking) and capture raw protocol network telemetry (TLS/SSL certificate metadata, microsecond timing breakdown, and OS-level network failure reasons). | URL glob pattern matching and response mocking, TLS/SSL Certificate security metadata (issuer, protocol, validity, cipher), Microsecond Network Timing breakdown (DNS, TCP, SSL, send, TTFB, download) |
31
+ | `browser_console` | `vision` | 1-5ms latency access to buffered browser console messages, JS exceptions, and network errors tracked via CDP Runtime.consoleAPICalled. | Buffered console output stream retrieval, Buffer clearance actions, Runtime exception stack capture |
32
+ | `browser_pdf` | `output` | Print the current page to a PDF file via CDP Page.printToPDF with configurable orientation, scale, and page ranges. | Landscape and portrait orientation options, Print scale factor adjustment, Page range subset printing |
33
+ | `browser_eval` | `evaluation` | Run arbitrary JS via CDP in page context via CDP Runtime.evaluate. Supports asynchronous evaluation and structured JSON serialization. | Page JS context execution, Async/await promise resolution, Structured JSON return serialization |
34
+ | `browser_cookies` | `storage_and_cookies` | Manage browser cookies. Full CRUD management for HTTP and document cookies via CDP Network domain. | Cookie property retrieval, setting, and deletion, Domain and path attribute scoping |
35
+ | `browser_canvas` | `canvas_and_visual` | For ALL canvas content (charts, games, graphs). Use get_image to read pixel data as Base64 PNG, draw to simulate programmatic coordinate gesture paths. | Base64 PNG pixel buffer export, Programmatic gesture path drawing, Canvas node targeting via ref ID or selector |
36
+ | `browser_scrape` | `vision` | Sub-5ms latency, zero waste extraction via CSS or XPath selectors in a single CDP evaluation step. Returns structured text/attribute arrays. | CSS and XPath query evaluation, Targeted attribute extraction, Single-step execution (high throughput) |
37
+ | `browser_snapshot` | `vision` | Capture or restore an MHTML snapshot (DOM + inline assets). Facilitates offline state serialization, replay verification, and compliance auditing. | Full DOM and asset stream serialization, Atomic capture and restore operations, Offline state audit capability |
38
+ | `browser_screenshot` | `vision` | 95-135ms capture latency via CDP Page.captureScreenshot. Supports PNG and JPEG formats, full-page rendering, and clip region bounding boxes. | Full-page and viewport bounding box capture, PNG and JPEG format encoding, Custom clip region bounding box support |
39
+ | `browser_viewport` | `device_and_environment` | Set viewport dimensions and device emulation (width, height, DPR, mobile, geolocation, timezone, locale, color scheme). | Viewport width, height, and DPR emulation, Mobile viewport and touch event emulation, Geolocation coordinate override |
40
+ | `browser_clipboard` | `dialog_and_interaction` | Read or write to the system clipboard (plaintext or Base64 image payload data). | Read and write data operations, Plaintext and Base64 image payload format support |
41
+ | `browser_inspect` | `vision` | 15-35ms latency, zero waste. Deep DOM inspection returning computed styles, inline styles, box model dimensions, and attached event listener types. | Computed CSS style property inspection, Event listener type registration enumeration, Box model geometry verification |
42
+ | `browser_extract_design` | `vision` | Extract design tokens (colors, typography, spacing, shadows, CSS variables), semantic HTML layouts, and clean CSS into structured files and an LLM design blueprint. Ideal for cloning websites, UI components, and design systems with 100% pixel fidelity. | CSS custom properties and design token harvesting, Palette extraction and typography hierarchy mapping, Semantic clean DOM extraction with inline SVGs preserved |
43
+ | `browser_automation` | `mission_execution` | Inject self-running background script for monitoring/polling. Inject persistent scripts into the page context for continuous event tracking. | Background script context injection, Named automation script management, Decoupled event monitoring lifecycle |
44
+ | `browser_recording` | `output` | Record video screencasts of browser sessions. Automatically compiles captured frames into animated video files (.webp, .gif, .webm, .mp4) using native Node processing or system ffmpeg. | Native WebP/GIF animation compilation in pure Node, Configurable FPS and frame limits, FFmpeg fallback for WebM/MP4 encoding |
45
+ | `browser_detect` | `tabs` | CRITICAL INITIALIZATION TOOL. Detect available browsers and configured desktop apps (Discord, Slack, etc.). Call this FIRST before interacting with the environment to know if apps are online/offline and what tabs they have open. | Local browser engine discovery, Engine CDP API coverage analysis, Tool compatibility reporting per browser engine |
46
+ | `browser_performance` | `performance` | Retrieve page performance metrics. Collects Core Web Vitals (FCP, LCP, CLS) and detailed network resource timing distributions. | First Contentful Paint (FCP) and Largest Contentful Paint (LCP) capture, Cumulative Layout Shift (CLS) tracking, Resource loading timing distributions |
47
+ | `browser_pattern_learn` | `memory` | Read (action=get), register (action=learn), update, or record execution outcome for a named workflow pattern on a given origin in ~/.weavetab-system/memory/sites/. Use action=get at session start to inspect site profiles and reliability scores. Use learn after completing a flow to persist it for future fast-path replay. | Site profile inspection via action=get (reads ~/.weavetab-system/memory/sites/), Named pattern creation and update (merge-on-write, no duplicates), Volatile selector stabilization before persistence |
48
+ | `browser_github` | `github` | Interact with GitHub repositories without burning browser turns. Analyze repo trees, read raw source files, search/inspect issues, and examine PR diffs and review comments. | Action-based repo analysis, file reading, issues, and PR review, Zero GitHub API token requirement for raw reads, Automated active tab repository context resolution |
49
+ | `browser_office` | `documents` | Read and extract structured content from office documents (Excel, Word, PDF, CSV) via live browser session cookies or local downloads directory. | In-session authenticated document fetching, Structured tabular extraction (.xlsx, .csv), Document text and metadata extraction (.docx, .pdf) |
50
+ | `browser_emulate` | `environment` | Emulate browser environmental conditions over CDP: network throttling profiles, CPU slowdown multipliers, geolocation overrides, timezone IDs, and custom User-Agent strings. | Network throttling (Offline, Slow 3G, Fast 3G, 4G), CPU throttling multipliers, Geolocation and timezone overrides |
51
+
52
+ ---
53
+
54
+ *Auto-generated via `npm run docs:generate` on 2026-10-17.*
@@ -15,7 +15,7 @@ Weavetab is decomposed into **five functional layers**, all running in-process w
15
15
 
16
16
  | # | Layer | Responsibility |
17
17
  |---|---|---|
18
- | 1 | **Transport** | JSON-RPC 2.0 over stdio or WebSocket (`--ws --port 3000`) |
18
+ | 1 | **Transport** | JSON-RPC 2.0 over stdio (default) or WebSocket (`--ws --port 3000`) |
19
19
  | 2 | **Security & Governance** | Domain blacklist, rate limiter (mutex), RBAC roles, policy engine, root guard |
20
20
  | 3 | **Intelligence Engine** | Session memory, semantic delta diffing, DOM pruner, loop detection, intent intercept |
21
21
  | 4 | **Sensor Systems** | Network telemetry, DOM mutation observer, human pacing, agent state machine |
@@ -19,7 +19,7 @@ Weavetab executes direct Layer 0 CDP commands — security is layered and **deny
19
19
  | **Domain Policy Engine** | Per-domain enforcement modes: `allow`, `read-only`, `deny`, `audit`. |
20
20
  | **Localhost Binding** | WebSocket server and CDP endpoints strictly bound to `127.0.0.1`. |
21
21
  | **Rate Limiting** | Mutex-enforced actions-per-minute rate limiter. |
22
- | **RBAC Roles** | 4 strict roles gating tool access (`admin`, `operator`, `viewer`, `automation`). |
22
+ | **RBAC Roles** | 5 roles gating tool access (`admin`, `operator`, `viewer`, `automation`, `system`). |
23
23
  | **Root Guard** | Prevents execution as root/superuser on Unix systems. |
24
24
  | **Blind Injection** | Credential injection from `secrets.json` without exposing raw text to LLM context. |
25
25
  | **Shadow DOM Isolation** | All injected HUD and modal overlays run in isolated Shadow DOM trees. |
@@ -27,9 +27,10 @@ Weavetab executes direct Layer 0 CDP commands — security is layered and **deny
27
27
 
28
28
  ## RBAC Role Matrix
29
29
 
30
- | Tool Category | admin | operator | viewer | automation |
31
- |---|:---:|:---:|:---:|:---:|
32
- | Mutation tools (`click`, `type`, `fill`, etc.) | yes | yes | no | yes |
33
- | Read-only tools (`map`, `find`, `scrape`, `screenshot`) | yes | yes | yes | yes |
34
- | High-level orchestration (`burst`, `plan`, `wait`) | yes | yes | no | yes |
35
- | System management (`detect`, `reset_loop_counter`) | yes | no | no | no |
30
+ | Tool Category | admin | operator | viewer | automation | system |
31
+ |---|:---:|:---:|:---:|:---:|:---:|
32
+ | Mutation tools (`click`, `type`, `fill`, etc.) | yes | yes | no | yes | no |
33
+ | Read-only tools (`map`, `find`, `scrape`, `screenshot`) | yes | yes | yes | yes | no |
34
+ | High-level orchestration (`burst`, `automation`, `wait`) | yes | yes | no | yes | no |
35
+ | Interactive HUD (`thoughts`) | yes | yes | no | no | yes |
36
+ | System introspection (`detect`, `performance`, `checkpoint`) | yes | yes | no | yes | yes |
@@ -12,7 +12,7 @@ slug: transport
12
12
  | Mode | Flag | Protocol | Use Case |
13
13
  |---|---|---|---|
14
14
  | **stdio** | *(default)* | JSON-RPC 2.0 / stdio | Claude Desktop, Cursor, VS Code Copilot, Antigravity |
15
- | **WebSocket** | `--ws` | JSON-RPC 2.0 / WebSocket | Custom agents, Python/Go backends, remote daemons, n8n |
15
+ | **WebSocket** | `--ws [--port N]` | JSON-RPC 2.0 / WebSocket | Custom agents, Python/Go backends, remote daemons, n8n |
16
16
 
17
17
  ## stdio (Default)
18
18
 
@@ -34,4 +34,4 @@ The MCP client spawns Weavetab as a child process and pipes messages over stdin/
34
34
  weavetab --ws --port 3000
35
35
  ```
36
36
 
37
- WebSocket mode binds strictly to `127.0.0.1` for local security. Front it with your own TLS/auth layer if exposing across a private network.
37
+ Starts the daemon on `127.0.0.1:3000` (override with `--port <n>` / `--port=<n>`). The daemon binds strictly to loopback for local security — front it with your own TLS/auth layer if exposing across a private network.
@@ -14,10 +14,14 @@ slug: cli-commands
14
14
  | Command | Description |
15
15
  |---|---|
16
16
  | `weavetab` | Start the MCP server (stdio mode — default for MCP clients). When run in a TTY without arguments, launches the interactive UI menu. |
17
- | `weavetab config` | Launch the 5-phase interactive configuration wizard. |
17
+ | `weavetab --ws [--port N]` | Start the WebSocket daemon on `127.0.0.1` (default port `3000`). |
18
+ | `weavetab --version` | Print version and exit. |
19
+ | `weavetab config` | Launch the 6-phase interactive configuration wizard. |
18
20
  | `weavetab view` | Display the current active configuration report. Press **[R]** to view raw JSON, **[Q]** to quit. |
19
21
  | `weavetab reset` | Purge browser profiles, lockfiles, mutexes, session registries, and kill orphan browser processes. Accepts `--yes`/`-y` to skip confirmation prompts. |
20
22
  | `weavetab reload-ext` | Send a reload signal to the Weavetab browser extension via CDP `Runtime.evaluate`. |
23
+ | `weavetab plugin <add\|browse\|search\|list\|remove\|verify>` | Manage plugins — see `weavetab plugin --help`. |
24
+ | `weavetab skills [options]` | Install or update AI agent skills (passthrough to `@weavetab/skills`). |
21
25
  | `weavetab help` / `--help` | Show full CLI help message with all commands, flags, and environment variables. |
22
26
 
23
27
  ## Secrets Management
@@ -39,6 +43,8 @@ When run without arguments in a TTY terminal, Weavetab opens an interactive keyb
39
43
  |---|---|
40
44
  | `[C]` | Launch the configuration wizard |
41
45
  | `[V]` | View current active configuration |
46
+ | `[P]` | List installed Weavetab plugins |
42
47
  | `[R]` | Purge browser profiles and lockfiles |
43
48
  | `[H]` | Show help information |
49
+ | `[G]` / `[N]` / `[W]` | Open GitHub / npm / website links |
44
50
  | `[Q]` | Exit Weavetab |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Flags"
3
- description: "Global flags accepted by the server."
3
+ description: "Global flags accepted by the CLI."
4
4
  product: mcp
5
5
  section: cli
6
6
  icon: Flag
@@ -9,12 +9,20 @@ slug: cli-flags
9
9
 
10
10
  # Flags
11
11
 
12
+ Only these flags are parsed by the CLI (`MCP/src/index.ts`). Anything else is ignored.
13
+
12
14
  | Flag | Type | Description |
13
15
  |---|---|---|
14
- | `--version` | boolean | Print CLI version and exit |
15
16
  | `--help` / `-h` | boolean | Show help message and exit |
16
- | `--ws` | boolean | Start server in WebSocket mode instead of stdio |
17
- | `--port <port>` | number | Port for WebSocket server (default `3000`) |
18
- | `--headless` | boolean | Run browser in headless mode |
19
- | `--role <role>` | enum | Override RBAC role (`admin`, `operator`, `viewer`, `automation`) |
20
- | `--yes` / `-y` | boolean | Skip confirmation prompt when running `weavetab reset` |
17
+ | `help` | command | Show help message and exit |
18
+ | `--version` / `-v` | boolean | Print version and exit |
19
+ | `--ws` | boolean | Start the WebSocket daemon instead of stdio |
20
+ | `--port <port>` / `--port=<port>` | number | Port for the WebSocket daemon (default `3000`) |
21
+ | `--yes` / `-y` | boolean | Skip confirmation prompt when running `weavetab reset` / `reload` |
22
+ | `--official` / `-O` | boolean | Prefer the official `@weavetab/plugin-<name>` candidate (`plugin add`) |
23
+ | `--community` / `-C` | boolean | Prefer the community package candidate (`plugin add`) |
24
+ | `--refresh` | boolean | Invalidate and refresh the verified plugin cache (`plugin`) |
25
+ | `--project` | boolean | Project-scoped secrets file (`secrets init --project`) |
26
+
27
+ Notes:
28
+ - There are no `--headless` / `--role` CLI flags. Browser headless mode and RBAC role come from `~/.weavetab/config.json` (`weavetab config` / `weavetab view`). The wizard offers `admin` / `operator` / `viewer` / `automation`.
@@ -18,8 +18,11 @@ weavetab reset --yes
18
18
  # List stored secrets
19
19
  weavetab secrets list
20
20
 
21
- # Start the MCP server in WebSocket mode for custom scripts
22
- weavetab --ws --port 3000 --headless &
21
+ # List installed plugins
22
+ weavetab plugin list
23
+
24
+ # Start the MCP server in WebSocket daemon mode for custom scripts
25
+ weavetab --ws --port 3000 &
23
26
  ```
24
27
 
25
28
  ## CI/CD Pipeline
@@ -28,5 +31,5 @@ weavetab --ws --port 3000 --headless &
28
31
  # In GitHub Actions or Docker CI
29
32
  npm install -g @weavetab/mcp
30
33
  weavetab reset --yes
31
- weavetab --ws --port 3000 --headless &
34
+ weavetab --ws --port 3000 &
32
35
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Locations & Merge"
3
- description: "Three-tier merge: local → global → built-in defaults."
3
+ description: "Two-tier merge: global config → built-in defaults."
4
4
  product: mcp
5
5
  section: configuration
6
6
  icon: FolderTree
@@ -11,9 +11,8 @@ slug: config-locations
11
11
 
12
12
  ## Priority Tiers
13
13
 
14
- 1. **Local (Project-scoped)** — `./.weavetab/config.json` (takes top priority)
15
- 2. **Global** — `~/.weavetab/config.json`
16
- 3. **Built-in defaults** — defined in `DEFAULT_CONFIG`
14
+ 1. **Global** — `~/.weavetab/config.json` (the only config file Weavetab reads)
15
+ 2. **Built-in defaults** — defined in `DEFAULT_CONFIG`
17
16
 
18
17
  ## Live Reload
19
18
 
@@ -9,11 +9,11 @@ slug: env-variables
9
9
 
10
10
  # Environment Variables
11
11
 
12
+ Only these two are read at runtime (`MCP/src/config/loader.ts`). Everything else
13
+ (browser path, role, headless, dev mode) lives in `~/.weavetab/config.json`
14
+ — run `weavetab config` to change it.
15
+
12
16
  | Variable | Description |
13
17
  |---|---|
14
- | `CHROME_PATH` | Absolute path to Chromium/Chrome binary |
15
- | `WEAVETAB_CONFIG` | Path to a custom config file |
16
- | `WEAVETAB_ROLE` | Override RBAC role at runtime (`admin`, `operator`, `viewer`, `automation`) |
17
- | `WEAVETAB_DEV` | Set to `1` to enable verbose CDP dev logging |
18
18
  | `WT_AGENT_ID` | Override the auto-generated agent UUID |
19
19
  | `WT_PROXY_URL` | Set outbound HTTP/SOCKS proxy server URL |
@@ -31,18 +31,15 @@ AI Agent (MCP) ──► withSecurity()
31
31
 
32
32
  ---
33
33
 
34
- ## Interactive App Configurator & Agent Generator
34
+ ## Interactive App Configurator
35
35
 
36
- Use the interactive configurator below to customize your desktop applications. Select presets or add custom apps, toggle between executable path strings, remote debug ports, or advanced objects, and copy the ready-to-use JSON or an automated setup prompt for your AI coding agent:
37
-
38
- ```electron-configurator
39
- ```
36
+ Build your `electron` block in the [Desktop app configurator](/mcp/desktop) — presets for Discord, VS Code, Figma, Slack and more, path / port / advanced formats, plus a copy-ready agent setup prompt. Then paste the block into your global `~/.weavetab/config.json`.
40
37
 
41
38
  ---
42
39
 
43
40
  ## 1. Configuring Desktop Apps in `config.json`
44
41
 
45
- Add an `"electron"` object to your local `./.weavetab/config.json` or global `~/.weavetab/config.json`:
42
+ Add an `"electron"` object to your global `~/.weavetab/config.json` (the only config file Weavetab reads):
46
43
 
47
44
  ```json
48
45
  {
@@ -43,11 +43,11 @@ npm install -D @weavetab/sdk@latest
43
43
 
44
44
  ## What You Get
45
45
 
46
- - **49 built-in MCP tools** covering DOM vision, input synthesis, desktop apps, tabs, network interception, office files, design extraction, and plugin lifecycle
46
+ - **44 built-in MCP tools** covering DOM vision, input synthesis, desktop apps, tabs, network interception, office files, design extraction, and plugin lifecycle
47
47
  - **Universal Desktop App Runtime** — control Chrome and native Electron apps (Discord, Figma, VS Code) side-by-side without port conflicts
48
48
  - **Autonomous Zero-API CAPTCHA Solver** — solve Cloudflare Turnstile, GeeTest, and reCAPTCHA locally via CDP mouse physics with $0 API costs
49
- - **Two transport modes** — stdio (Claude Desktop, Cursor, VS Code, Windsurf, Antigravity) and WebSocket (`--ws --port 3000`)
50
- - **Four RBAC roles** — `admin`, `operator`, `viewer`, and `automation`
49
+ - **Two transport modes** — stdio (Claude Desktop, Cursor, VS Code, Windsurf, Antigravity) and WebSocket (`weavetab --ws --port 3000`)
50
+ - **Five RBAC roles** — `admin`, `operator`, `viewer`, `automation`, and `system`
51
51
  - **Per-domain policies** — ring-fences sensitive banking, internal, and production surfaces
52
52
  - **Blind Injection** — credentials resolved server-side from `secrets.json` and never exposed to the LLM
53
53
  - **Extensible Plugin System** — auto-discovers and mounts custom MCP tools from `node_modules`
@@ -57,4 +57,4 @@ npm install -D @weavetab/sdk@latest
57
57
  - **[Quickstart](quickstart.md)** — install and run a first mission in 60 seconds
58
58
  - **[Desktop & Electron Apps](../desktop-automation/electron-apps.md)** — configure and control desktop apps
59
59
  - **[Autonomous CAPTCHA Solver](../captcha-stealth/captcha-solver.md)** — zero-API anti-bot solving
60
- - **[MCP Tools Reference](../tools/tools.md)** — full reference for all 49 built-in automation tools
60
+ - **[MCP Tools Reference](../tools/tools.md)** — full reference for all 44 built-in automation tools
@@ -15,12 +15,13 @@ Run the interactive CLI configuration wizard:
15
15
  weavetab config
16
16
  ```
17
17
 
18
- The wizard walks through every option across 5 interactive phases. Re-run it at any time to update your saved config.
18
+ The wizard walks through every option across 6 interactive phases. Re-run it at any time to update your saved config.
19
19
 
20
20
  ## Wizard Phases
21
21
 
22
- 1. **Phase 1 — Essentials:** Browser path, RBAC role (`admin`, `operator`, `viewer`, `automation`), headless mode, dev mode, max tabs, actionability timeout, domain block/allow lists.
23
- 2. **Phase 2 — Advanced:** Browser engine selection, navigation timeouts, dark mode preferences, telemetry opt-in, outbound HTTP/SOCKS proxy, domain policy modes.
24
- 3. **Phase 3 — Save Location:** Global (`~/.weavetab/config.json`) or Project-scoped (`./.weavetab/config.json`).
25
- 4. **Phase 4 — MCP Auto-Config:** Auto-detects installed IDEs (Claude Desktop, Cursor, Windsurf, VS Code, OpenCode, Claude Code, Antigravity) and merges Weavetab into their MCP configuration.
26
- 5. **Phase 5 — Summary:** Displays full configuration validation report.
22
+ 1. **Phase 1 — Essentials:** Browser path, RBAC role (`admin`, `viewer`, `automation`), headless mode, dev mode, max tabs, actionability timeout, domain block/allow lists.
23
+ 2. **Phase 2 — Advanced (optional):** Browser engine selection, timeouts and rate limits, telemetry opt-in, download/proxy directories, domain policy entries.
24
+ 3. **Phase 3 — Save Location:** Global (`~/.weavetab/config.json`).
25
+ 4. **Phase 4 — MCP Auto-Config:** Auto-detects installed IDEs (Claude Desktop, Cursor, Windsurf) and merges Weavetab into their MCP configuration.
26
+ 5. **Phase 5 — Agent Skills:** Optionally installs `@weavetab/skills` for your agent framework.
27
+ 6. **Phase 6 — Summary:** Displays full configuration validation report.
@@ -9,7 +9,7 @@ slug: tools
9
9
 
10
10
  # MCP Tools Master Reference
11
11
 
12
- Weavetab exposes **49 production-grade MCP tools** engineered for sub-10ms browser automation, visual inspection, desktop app orchestration, zero-API CAPTCHA solving, and human-like interaction.
12
+ Weavetab exposes **44 production-grade MCP tools** engineered for sub-10ms browser automation, visual inspection, desktop app orchestration, zero-API CAPTCHA solving, and human-like interaction.
13
13
 
14
14
  Every tool adheres to a strict contract:
15
15
  - **Zod schema validation** for all runtime arguments
@@ -24,4 +24,4 @@ slug: trouble-browser
24
24
 
25
25
  **Fixes:**
26
26
  1. Run `weavetab reset` to purge corrupted profiles
27
- 2. Check `CHROME_PATH` environment variable points to a valid Chromium executable
27
+ 2. Run `weavetab config` and set the browser executable path (or `browserPath: "auto"` to detect)
package/icon.png CHANGED
Binary file