vibatchium
PYPI · VIBATCHIUM
Stealth browser automation for AI agents — real Chrome, N parallel persistent logged-in sessions.
Available components
Last scanned (2 hours ago)
Scores higher than 70% of PyPI servers
Category Browser Automation
Recent critical change
GHSA-6q48-6c7w-9gw2 affects this package (21 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 0 of 31 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to trueoriginlabs/vibatchium). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 28 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 14049 tokens (~161/item across 87 items; 87 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
- Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 98% of tool parameters carry a description.Partial
Tool Safety81
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "eval" implies "eval" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 88 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −14
- Malware scan: pass → unverified ▼ security
- 4 Nov 26 −4
- Stability: pass → 0.70 functional
- 1 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 31 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 29 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 28 Oct 26 0
- Stability: pass → 0.97 functional
- 22 Oct 26 +77
- Malware scan: pass → unverified ▼ security
- GHSA-6q48-6c7w-9gw2 no longer affects this package ▲ security
- Known CVEs: fail → pass ▲ security
- Stability: 0.97 → pass security
- Score status: failed → scored ▲ functional
- 21 Oct 26 −92
- GHSA-6q48-6c7w-9gw2 affects this package: none ▼ critical
- Known CVEs: pass → fail ▼ critical
- Score status: scored → failed ▼ critical
- Stability: pass → 0.97 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed pypi/vibatchium@0.20.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | trueoriginlabs/vibatchium |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/trueoriginlabs/vibatchium/.github/workflows/publish.yml@refs/tags/v0.20.0 |
| Rekor log index | 3131074529 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:2eb6e960b171729fba0e524f9703923293e6cc5a1e75696eeebc5ebb48003030 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 31 packages
| Packages resolved | 31 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
act ~131
Plan the action for a natural-language intent and execute it in one shot.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | Natural-language intent. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| llm | boolean | – | Use Claude. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
attach ~135
Attach to an existing Chrome via CDP (use after manual login on a Cloudflare-walled site).
| Name | Type | Req | Description |
|---|---|---|---|
| cdp_url | string | – | e.g. http://localhost:9222 |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
attr ~140
Get an HTML attribute value from an element.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | yes | Attribute name (href, class, etc.). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN / @text: / @label: / CSS. |
No output schema declared.
No examples provided.
back ~99
Browser back.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
candidates ~194
List EVERY element a target resolves to, so an ambiguous locator can be disambiguated instead of failing strict mode. Returns {target, count, candidates:[{index, tag, role, name, text, bbox}], truncated}. Act on one with click/fill/type/hover passing `index=N`.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| limit | integer | – | Cap how many matches to describe. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN / @text: / @label: / CSS whose matches to enumerate. |
No output schema declared.
No examples provided.
check ~114
Check a checkbox / radio.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN or selector. |
No output schema declared.
No examples provided.
clean ~318
Housekeeping — reclaim disk from stale profile dirs, superseded Chrome cache dirs, leftover Chrome lock files, regenerable caches, and the daemon log. DRY-RUN by default; pass apply=true to actually delete. Never touches the default/active/running sessions. Returns a per-category {count, bytes} report.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | Actually delete (default false = dry-run report). |
| cache | boolean | – | Include regenerable caches (default true). |
| cache_mirror | boolean | – | Include superseded Chrome cache dirs — caches whose profile is gone, or which the profile no longer uses (default true). |
| keep | array | – | Session names to never prune. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| locks | boolean | – | Include leftover Chrome lock files (default true). |
| log_keep_bytes | integer | – | Truncate daemon.log to its last N bytes. |
| logs | boolean | – | Include daemon-log truncation (default true). |
| older_than | integer | – | Prune profiles idle ≥ this many seconds (default 14d). |
| profiles | boolean | – | Include stale profile dirs (default true). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
click ~184
Click an @eN ref or CSS selector.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_dismiss_banners | boolean | – | On 'intercepted' failure, dismiss cookie/consent banners once and retry. |
| index | integer | – | Act on the Nth match (0-based, document order) when the target matches several elements. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
| timeout_ms | integer | – | Timeout in ms. |
No output schema declared.
No examples provided.
content ~116
Replace the page HTML wholesale via page.set_content.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | New HTML body. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
count ~120
Count matching elements for a selector or @eN ref.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN or selector. |
No output schema declared.
No examples provided.
dblclick ~151
Double-click an @eN ref or CSS selector.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Act on the Nth match (0-based, document order). |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
| timeout_ms | integer | – | Timeout in ms. |
No output schema declared.
No examples provided.
detect_forms ~311
Structured map of every <form> on the page (plus a formless-controls group for SPAs) — against our real authenticated Chrome DOM. Each field carries a ready-to-use `locator` string (pipe straight into fill/click), plus type, name, label, required, options and checked/filled state. A free-text field's typed value is withheld unless `values=true`, and even then it's redacted when a type/name/autocomplete heuristic flags it as a password/credential/payment secret (best-effort — don't pass values=true on untrusted pages). Returns {forms, count}.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| max_chars | integer | – | Cap each label/value length. |
| max_fields | integer | – | Cap fields per form. |
| max_forms | integer | – | Cap number of forms. |
| max_options | integer | – | Cap options per <select>. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | – | Optional @eN / @text: / CSS root to scope the walk to a subtree. |
| values | boolean | – | Include non-sensitive free-text field values (still redacts secrets). |
No output schema declared.
No examples provided.
diff_map ~105
Diff current snapshot vs the previous one.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
dismiss_banners ~148
Heuristically dismiss cookie/consent/newsletter banners.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | Report candidates without clicking. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| max_clicks | integer | – | Max banners to dismiss. |
| prefer | string | – | accept|reject (default reject). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
eval ~167
Evaluate a JS expression in the page (isolated context per Patchright default — `window.X = ...` mutations are NOT visible to page JS; use `eval_handle` to retain references).
| Name | Type | Req | Description |
|---|---|---|---|
| expr | string | yes | JS expression. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| timeout_ms | integer | – | Give up after this long — a busy page starves isolated-world eval too. |
No output schema declared.
No examples provided.
expect ~301
ONE-CALL verification gate. Assert the page reached an expected state — composes element-state / page-text / URL checks plus a native challenge-wall check into a single {passed, failures[]} verdict. Use after an action to confirm it landed (or that you got soft-blocked) instead of stitching several wait and read calls together. Every check is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_walled | boolean | – | If false (default), a detected Cloudflare/DataDome challenge wall is a failure. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| screenshot | string | – | auto = capture only on failure (evidence); always; never. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| state | string | – | Expected element state (default 'visible'): visible|hidden|attached|detached. |
| target | string | – | Element to assert — @eN / @text: / @label: / CSS. |
| text_contains | string | – | Page text must contain this substring. |
| timeout_ms | integer | – | Per-wait budget. |
| url_contains | string | – | Current URL must contain this substring. |
No output schema declared.
No examples provided.
explore ~528
USE THIS WHEN WebFetch/WebSearch/curl GOT BLOCKED — a 403, a Cloudflare/DataDome "Just a moment..." challenge, a login/paywall, or an empty "JavaScript is required" shell: don't report failure, use this — patchright clears most such walls cold. ONE-CALL 'look at this URL', TEXT-FIRST. Does a DNS pre-check → auto-start a session if needed (headless) → navigate → extract the text. It does NOT screenshot by default: read and navigate with the returned text/selectors, and a screenshot is captured only as a FALLBACK when the page yields no usable text (canvas/image/blank SPA). This is the 80% case of 'just show me what's on this page' — use it instead of separate start / navigate / read calls unless you need multi-step interaction. Pass screenshot='always' to force a screenshot, 'never' to suppress even the fallback; when one is captured it comes back as a viewable image, not base64 text. Without an explicit session it runs on an OFF-BUDGET transient ephemeral session (0.7.0) — it never competes with persistent sessions for a slot and is auto-deleted afterward, so it won't touch your 'default' session.
| Name | Type | Req | Description |
|---|---|---|---|
| full_page | boolean | – | Full-page vs viewport screenshot, when one is captured. |
| intent | string | – | Optional natural-language description (reserved for future). |
| keep_open | boolean | – | Leave session open for follow-up calls. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| min_text_chars | integer | – | Auto-mode fallback threshold: capture a screenshot if the page's extracted text is shorter than this. |
| screenshot | – | – | Screenshot policy. 'auto' (default): capture ONLY if the page returns no usable text (or is challenge/login walled). 'always' (or true): force a screenshot. 'never' (or false): suppress even the fall… |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| skip_verify | boolean | – | Skip DNS pre-check (trusted URLs only). |
| url | string | yes | Target URL — required. |
No output schema declared.
No examples provided.
extract ~329
Clean, LLM-ready Markdown of the page (or a target subtree) — boilerplate (nav/footer/aside/scripts) stripped, headings/links/lists/code preserved. A drop-in for Crawl4AI/Firecrawl-style scraping on the AUTHENTICATED pages those stateless tools can't reach. Returns markdown TEXT (never a base64 screenshot), capped by max_chars. `mode`: markdown (default) | links (deduped {url,text}, absolute post-hydration URLs) | assets ({url,type,rel?}, data: dropped) | main (main-content only via density scorer).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| max_assets | integer | – | mode=assets: cap the number of assets. |
| max_chars | integer | – | Cap the returned markdown length (truncates beyond it). |
| max_links | integer | – | mode=links: cap the number of links. |
| mode | string | – | Output mode (default markdown). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | – | Optional @eN / @text: / @label: / CSS to scope extraction to a subtree (honored by markdown/links/assets; mode=main is whole-page and rejects it). |
No output schema declared.
No examples provided.
extract_fields ~311
Declarative STRUCTURED extract: pass a {name: selector} map and get back ONE JSON object of values in a single call — against our real authenticated Chrome DOM (a login-walled / SPA page stateless scrapers can't reach). Grammar: `name[]`=array, `sel@attr`=attribute, `sel@html`=innerHTML, bare=text. Optional `target` scopes selectors to a subtree. Returns {fields, matched, misses, errors} — `misses`/`errors` let you fix a selector without re-reading the page. Reads text/attr/innerHTML only, never input values.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Map of field name → CSS selector (with optional @attr / @html / name[] array suffix). |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| max_chars | integer | – | Cap each field value's length. |
| node_cap | integer | – | Cap nodes read per array field. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | – | Optional @eN / @text: / @label: / CSS root to scope all selectors to a subtree. |
No output schema declared.
No examples provided.
fill ~247
Clear an input and fill it with text. With use_secret, value comes from the encrypted vault — and is only written into a page on the secret's own site (https, same host or a subdomain, or the entry's `origins`); otherwise refused.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Fill the Nth match (0-based, document order) when the target matches several elements. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
| text | string | – | Text to fill (or use use_secret). |
| timeout_ms | integer | – | Timeout in ms. |
| use_secret | string | – | Vault reference 'site:key' (or 'site:totp'). Origin-bound: the target must be on that site. |
No output schema declared.
No examples provided.
find ~174
Locate elements by semantic strategy (text/label/placeholder/role/testid/xpath/alt/title/css).
| Name | Type | Req | Description |
|---|---|---|---|
| exact | boolean | – | Exact match. |
| kind | string | yes | text|label|placeholder|role|testid|xpath|alt|title|css |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | – | Accessible name (role kind only). |
| query | string | yes | Search query. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
focus ~127
Focus an element (without clicking).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
| timeout_ms | integer | – | Timeout in ms. |
No output schema declared.
No examples provided.
forward ~99
Browser forward.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
frame ~128
Switch active frame by name or URL substring (omit both to clear).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | – | Frame name. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| url | string | – | URL substring. |
No output schema declared.
No examples provided.
frames ~110
List all live frames with name + url + depth + active flag.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
go ~206
Navigate to a URL in the stealth browser, then read the page with a content tool. Reach for this when WebFetch/curl was blocked — a 403, a Cloudflare/DataDome "Just a moment..." challenge, a login/paywall, or a JavaScript-only page that returns no usable HTML — or when the page needs a real browser.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| timeout_ms | integer | – | Timeout in ms. |
| url | string | yes | Target URL. |
| wait_until | string | – | load|domcontentloaded|networkidle|commit |
No output schema declared.
No examples provided.
highlight ~132
Briefly outline an @eN ref or selector for visual debugging.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| ms | integer | – | Highlight duration ms. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN or selector. |
No output schema declared.
No examples provided.
hover ~132
Hover over an element.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Hover the Nth match (0-based, document order). |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
No output schema declared.
No examples provided.
html ~144
Get HTML (whole page or a target — @eN, @text:Foo, @label:Email, CSS, etc.).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | – | Optional @eN / @text: / @label: / CSS. |
No output schema declared.
No examples provided.
humanize_ambient ~273
Opt-in AMBIENT activity between verbs (default off): while the session idles, emit low-rate human-plausible pointer drifts + rare reading scrolls (never clicks/types/selects/navigates, yields to every verb, stops horizon_s after the last verb or at idle-freeze). Targets are best-effort: it avoids elements that look interactive but can't see script-attached hover handlers, so a page may still observe a mouseover. Fills the zero-mouse-events silence behavioural scorers flag. mode=on|off|status.
| Name | Type | Req | Description |
|---|---|---|---|
| horizon_s | number | – | Idle seconds after the last verb before ambient goes quiet (5 up to the operator's default, 180 unless configured). |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| mode | string | – | on | off | status (default status). |
| scroll | boolean | – | Allow idle reading scrolls (default true). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
humanize_off ~105
Disable humanize for current session.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
humanize_on ~116
Enable humanlike mouse (Bezier paths, gaussian dwell, sin scroll) for current session.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
humanize_status ~108
Report whether humanize is on for current session.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
is_state ~138
Check element state (visible/enabled/checked/...).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| state | string | yes | visible|hidden|enabled|disabled|checked|editable |
| target | string | yes | @eN or selector. |
No output schema declared.
No examples provided.
keys ~120
Press a key combination (e.g. 'Control+a', 'Enter').
| Name | Type | Req | Description |
|---|---|---|---|
| keys | string | yes | Key combo. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
map ~135
Snapshot actionable elements and assign @eN refs (uses Playwright aria_snapshot mode='ai').
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Limit snapshot depth. |
| indent | boolean | – | Preserve YAML indent. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
map_compact ~213
One-line-per-element rendering of the snapshot (token-efficient): `@eN role "name" [state…]`, preserving state ([checked]/[disabled]/[expanded]/[level=N]). `interactive`=only actionable roles; `bbox`=append real bounding_box() coords (bbox=x,y,w,h) — genuine layout geometry.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | boolean | – | Append real-Chrome bounding-box coords per element. |
| depth | integer | – | Limit snapshot depth. |
| interactive | boolean | – | Only actionable roles (button/link/textbox/checkbox/…). |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
mouse ~170
Mouse control at pixel coordinates.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | click|dblclick|move|down|up|wheel |
| button | string | – | left|right|middle |
| dx | number | – | – |
| dy | number | – | – |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| steps | integer | – | Move steps. |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
observe ~145
Plan a verb + target for an intent without executing.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Bypass cache. |
| intent | string | yes | Natural-language intent. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| llm | boolean | – | Use Claude (needs ANTHROPIC_API_KEY). |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
page_close ~108
Close the current tab; the next tab becomes active.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
page_new ~106
Open a new tab and switch to it.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
page_switch ~112
Switch to tab by index.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | yes | Tab index. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
pages ~102
List all open browser tabs.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
pdf ~124
Save the current page as PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Letter|A4|... |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| path | string | yes | Output path. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
press ~135
Press a key on a specific element (e.g. Enter on @e3).
| Name | Type | Req | Description |
|---|---|---|---|
| keys | string | yes | Key combination. |
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
| target | string | yes | @eN ref or selector. |
No output schema declared.
No examples provided.
profile_delete ~116
Delete a profile directory (alias of session_delete).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | yes | Profile name. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
profile_list ~110
List all profiles and the active one (alias of session_list).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
profile_new ~117
Create a new named profile (alias of session_new).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | yes | Profile name. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
profile_use ~116
Set the active profile (alias of session_use).
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| name | string | yes | Profile name. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
reload ~100
Reload current page.
| Name | Type | Req | Description |
|---|---|---|---|
| lease | string | – | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. |
| session | string | – | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default… |
No output schema declared.
No examples provided.
How do I install the vibatchium MCP server?
vibatchium runs locally as a PyPI package, launched with uvx vibatchium. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · vibatchium
claude mcp add trueoriginlabs-vibatchium -- uvx vibatchium
What is the vibatchium MCP server?
vibatchium is an MCP server listed in the public MCP registry as io.github.trueoriginlabs/vibatchium. Stealth browser automation for AI agents, real Chrome, N parallel persistent logged-in sessions. This page covers its PyPI package (vibatchium).
Is the vibatchium MCP server safe to use?
vibatchium scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the vibatchium MCP server expose?
vibatchium exposes 87 tools: start, attach, stop, status, verify_url, and 82 more. Their descriptions and schemas cost roughly 13,577 tokens of context every time the server is loaded.
Is the vibatchium MCP server still maintained?
vibatchium is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the vibatchium MCP server under?
vibatchium declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.