vibatchium
PYPI · VIBATCHIUM · SCANNED SEP 20
Patchright stealth + Vibium-style LLM-friendly CLI for agentic browser automation.
Available components
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 Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 0 of 32 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 24 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 13623 tokens (~158/item across 86 items; 86 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 Management87
- Stability observed for 26 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 87 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
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
{
"mcpServers": {
"trueoriginlabs-vibatchium": {
"command": "uvx",
"args": [
"vibatchium"
]
}
}
} {
"servers": {
"trueoriginlabs-vibatchium": {
"command": "uvx",
"args": [
"vibatchium"
]
}
}
} codex mcp add trueoriginlabs-vibatchium -- uvx vibatchium
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"trueoriginlabs-vibatchium": {
"type": "local",
"command": [
"uvx",
"vibatchium"
],
"enabled": true
}
}
} openclaw mcp add trueoriginlabs-vibatchium --command uvx --arg vibatchium
mcp_servers:
trueoriginlabs-vibatchium:
command: "uvx"
args: ["vibatchium"] {
"McpServers": {
"trueoriginlabs-vibatchium": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"vibatchium"
]
}
}
} assistant mcp add trueoriginlabs-vibatchium -t stdio -c uvx -a vibatchium
{
"mcpServers": {
"trueoriginlabs-vibatchium": {
"command": "uvx",
"args": [
"vibatchium"
]
}
}
} 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.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 17 Sept 26 0
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.80 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 20 Sept 2026 · Analysed pypi/vibatchium@0.19.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
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 32 packages
| Packages resolved | 32 |
|---|---|
| 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 ~126
Observe + execute the resulting plan 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 ~183
Click an @eN ref or CSS selector.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_dismiss_banners | boolean | – | On 'intercepted' failure, try dismiss_banners once and retry. |
| index | integer | – | Act on the Nth match (0-based, from `candidates`) when the target is ambiguous. |
| 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 ~154
Double-click an @eN ref or CSS selector.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Act on the Nth match (0-based, from `candidates`). |
| 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 wait/text/url/screenshot calls. 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 ~522
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 verify_url → auto-start session if needed (headless) → go → extract 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/go/text 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 ~202
Clear an input and fill it with text. With use_secret, value comes from the encrypted vault.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Fill the Nth match (0-based, from `candidates`) when the target is ambiguous. |
| 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'). |
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 ~209
Navigate to a URL in the stealth browser, then pair with extract/text/html/map. Reach for this (or explore) 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 ~135
Hover over an element.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Hover the Nth match (0-based, from `candidates`). |
| 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_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.
screenshot ~436
Capture a screenshot. With no path it returns a viewable image (not base64 text); with a path it saves the PNG and returns the path. With tiles=true it slices a full-page capture into fixed-height tiles written to DISK (returns their paths + count, never base64) — for layout-heavy pages a vision-capable caller then reads tile-by-tile. Prefer reading the page text/selectors first — only screenshot when you actually need the pixels.
| Name | Type | Req | Description |
|---|---|---|---|
| full_page | boolean | – | Full page (not just viewport). |
| 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_screenshot_px | integer | – | Cap the CAPTURED height (px) of a full-page/tiles shot — bounds the decode itself (the real memory driver on tall/infinite-scroll pages), not just tile count. Default VIBATCHIUM_MAX_SCREENSHOT_PX (30… |
| max_tiles | integer | – | Cap the number of tiles (top of page first). Bounds output/disk, not decode memory. If omitted, defaults to VIBATCHIUM_MAX_TILES (60); when a tall page is capped the result carries truncated=true + t… |
| path | string | – | Output file 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… |
| tile_dir | string | – | Directory for tile files (default: alongside path, else the screenshots cache). |
| tile_height | integer | – | Tile height in px when tiles=true. |
| tiles | boolean | – | Slice a full-page capture into fixed-height PNG tiles written to disk (0600); returns {tiles:[paths], count}. Implies full_page. |
No output schema declared.
No examples provided.
What is the vibatchium MCP server?
vibatchium is an MCP server listed in the public MCP registry as io.github.trueoriginlabs/vibatchium. Patchright stealth + Vibium-style LLM-friendly CLI for agentic browser automation. This page covers its PyPI package (vibatchium).
Is the vibatchium MCP server safe to use?
vibatchium scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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 86 tools: start, attach, stop, status, verify_url, and 81 more. Their descriptions and schemas cost roughly 13,151 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 20 September 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.