{"name":"dev.weavetab/mcp","slug":"weavetab-mcp","title":"Weavetab","description":"Open automation engine for AI agents. Control live browsers and desktop apps locally.","url":"https://mcp.market/server/weavetab-mcp","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":32,"stars":3,"forks":2,"downloads_week":156,"last_push_at":"2026-10-24T18:44:17.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Weavetab/mcp","website":null,"version":"2.5.0","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@weavetab/mcp","version":"2.5.0","transport":{"type":"stdio"}}],"tools":[{"name":"browser_automation","description":"Inject self-running background script for monitoring/polling. Cleared on tab close. Don't use persistent scripts for expensive ops.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_burst","description":"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 (e.g. typing + pressing Enter, filling multiple form fields, clicking tabs/buttons then waiting, searching, navigating + reading) to drastically slash latency and token burn. Supports native primitives (b","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_canvas","description":"For ALL canvas content (charts, games, graphs). Use 'get_image' to read pixels, 'draw' to simulate gestures. Do NOT use browser_click here.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_captcha","description":"Autonomous CAPTCHA detection and solving.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_checkpoint","description":"Snapshot and restore browser state (cookies, localStorage, sessionStorage, and scroll/URL) into named checkpoints to time-travel and rollback failed automation branches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_click","description":"Click a DOM element. Use browser_canvas for charts/canvas. If stuck_warning=true, stop and use browser_map. Pass mark: N to click a numbered element from browser_map({ visual: true/\"auto\" }) without any DOM re-scan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_clipboard","description":"Read or write to the system clipboard.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_console","description":"1-5ms latency. Read or clear buffered console API messages, JS exceptions, and network errors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_cookies","description":"Manage browser cookies.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_detect","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_dialog","description":"Accept or dismiss JS dialogs (alert, confirm, prompt). Browser sessions only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_emulate","description":"Emulate browser conditions over CDP: network throttling (Slow 3G, Fast 3G, 4G, Offline), CPU throttling rate, Geolocation coordinates, Timezone, and User Agent string overrides.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_eval","description":"Run arbitrary JS via CDP. Good for extracting app state. Cannot traverse shadow DOM/cross-origin iframes.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_extract_design","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_fill","description":"Smart multi-field form-filling and input inspector. Call with scan:true (or empty) to get a lightweight list of all editable inputs on the page without dumping the full DOM. Fill multiple fields in a single turn.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_find","description":"Instant text & keyword search across page text, labels, and placeholders. Returns matched element coordinates, selectors, and ref IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_github","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_highlight","description":"Highlight elements on page. Supports single or multiple candidates (refs) with styles ('consideration' for candidate evaluation, 'target' for lock-on, 'danger' for destructive actions, 'success', or 'shimmer'), floating badges, and configurable duration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_inspect","description":"15-35ms latency, zero waste. Deep DOM inspection. Useful for debugging failed clicks, verifying z-index & visibility, or computed styles.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_key","description":"Press a keyboard key.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_map","description":"Snapshot interactive DOM with volatile ref IDs that invalidate after DOM mutations. For complex SPAs (e.g. GitHub dashboards), use `scope` or `query` to reduce tokens. For forms/pagination/sequential loops, ALWAYS use `delta: true` to save 97% tokens. For canvas/WebGL/Figma pages where the DOM has < 5 interactive elements, use `visual: \"auto\"` to get a numbered screenshot — then use browser_click(","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_navigate","description":"Navigate to a URL or launch/focus a configured Electron app.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_network_intercept","description":"Intercept/stub network responses (e.g. mock APIs, block tracking) OR retrieve detailed raw protocol network telemetry (TLS/SSL certificate info, microsecond timing breakdown, and OS-level failure reasons).","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_office","description":"Read and extract structured content from office documents (Excel, Word, PDF, CSV). Note: PDF/Word extraction requires local binary dependencies (e.g., poppler) and output is truncated by max_chars/max_rows limits. Two modes: - **url** — fetch a document URL using the browser's live session cookies (works for authenticated downloads, SharePoint, Google Drive exports, etc). Automatically detects for","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_pattern_learn","description":"Read, register, update, and record execution outcomes for named workflow patterns and site quirks in ~/.weavetab-system/memory/sites/. Use action='get' at session start to inspect a site profile and decide between fast-path replay (reliability ≥ 0.8) or exploratory navigation. Use action='learn' after completing a multi-step flow to persist it. Use action='record_execution' to update reliability s","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_pdf","description":"Print the current page to a PDF file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_performance","description":"Retrieve page performance metrics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_pointer","description":"Advanced pointer control (hover, click, double_click, drag_and_drop, hover_chain). Use hover_chain for Photoshop/Photopea, Figma, and multi-level flyout submenus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_recording","description":"Record video screencast for compliance/audit. Compiles captured frames into video/animation (.webp, .gif, .webm, .mp4).","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scrape","description":"Sub-5ms latency, zero waste extraction. Best for batch list extraction, table parsing, targeted data mining. Prefer this over browser_map for pure data extraction. Note: XPath selectors lack shadow-DOM support; use CSS selectors for shadow DOMs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_screenshot","description":"95-135ms capture. Best for visual layout validation, canvas/image inspection. For multimodal models only. Text-only models should use browser_map or browser_canvas instead.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scroll","description":"Scroll the page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_select","description":"Select an option from a native dropdown.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_snapshot","description":"Capture or restore an MHTML snapshot. Best for offline archival, replay testing, and compliance audits.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_storage","description":"Manage localStorage and sessionStorage.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_tabs","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_thoughts","description":"Agent-to-user communication. Renders in the middle down of the page. Use 'question' mode to ask a free-text question. Use 'feedback' mode to provide status updates, analysis, or decisions. Supports element anchoring (e.g. 'w:15') and presentation styles ('observation', 'decision', 'warning', 'question').","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_type","description":"Type text into an input field or currently focused element. If id/selector/label is omitted, automatically types directly into document.activeElement without needing a redundant click or browser_map. If target is already focused, skips click to prevent unfocus bugs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_type_secret","description":"Inject a secret from an environment variable.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_upload","description":"Upload files to a file input.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_viewport","description":"Set viewport dimensions and device emulation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_wait","description":"Pause until a condition is met.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-10-28T18:34:47.294Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-28T18:34:47.207Z","components":{"code":{"score":8,"max":25,"notes":["278 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"dist/index.js: …\" \"); try { exec(`npx -y @weavetab/skills@latest ${subArgs}`.trim(), { stdio: \"inherit\" });…"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/tools/automation.js: …turn; } (async function() { return eval(${JSON.stringify(script)}); })().then(fu…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@weavetab/mcp","version":"2.5.0","found":true,"license":"AGPL-3.0-only","hasInstallScripts":false,"dependencyCount":16,"publishedAt":"2026-10-17T12:50:48.772Z","repositoryUrl":"git+https://github.com/weavetab/mcp.git","weeklyDownloads":156}],"repo":{"found":true,"owner":"Weavetab","repo":"mcp","archived":false,"pushedAt":"2026-10-24T18:44:17Z","stars":3,"forks":2,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/294630232?v=4","ownerCreatedAt":"2026-06-17T21:01:09Z","license":"NOASSERTION"},"icon":{"url":"https://weavetab.dev/logo.svg","source":"site"},"presence":{"stars":3,"forks":2,"downloadsWeek":156,"license":"NOASSERTION","lastPushAt":"2026-10-24T18:44:17.000Z","score":32}}}},"grade_history":[],"reviews":[]}