Skip to main content

voidcrawl-mcp

Rust-native MCP server that exposes void_crawl_core's stealth-patched Chrome pool to Claude Code. Headless by default, concurrent by construction — ten tabs in parallel is the norm.

Why not claude-in-chrome?

  • claude-in-chrome drives the user's single visible Chrome tab.
  • voidcrawl-mcp drives a headless pool with real concurrency and per-session isolation. Pick it for bulk scraping, bot-detection targets, and subagent fan-out. See ../../.claude/skills/voidcrawl/SKILL.md for the full decision rubric.

Tools

Tool Kind Summary
fetch stateless Single URL → { html, title, status_code, ... }.
fetch_many stateless N URLs in parallel; pool semaphore caps concurrency.
screenshot stateless Full-page PNG as image/png content.
session_open stateful Launches a dedicated Chrome, returns session_id.
session_navigate stateful Goto URL within a session and wait for settle.
session_content stateful HTML + title + URL of the session's current page.
session_screenshot stateful PNG of the session's current page as-is — no navigation.
session_close stateful Shut down the session's Chrome.
pool_status diag Pool config + live session count.
download stateless Download a file by URL through stealth Chrome and scan it with the built-in antivirus gate. Opt-in (VOIDCRAWL_ALLOW_DOWNLOADS=1).
download_arm / download_wait stateful Capture a download started by a page action (button with no stable URL), then scan it. Opt-in (VOIDCRAWL_ALLOW_DOWNLOADS=1).
network_capture_arm / network_capture_wait stateful Arm real CDP Network.* capture for named URL globs before the triggering action; returns request + response headers, status, opt-in body. Credential header values are <redacted> unless opted in and VOIDCRAWL_ALLOW_CREDENTIAL_CAPTURE=1.
cookie_lease_open / cookie_lease_revoke stateful Fork the cookies reachable by one replay origin into a revocable, scope-bound lease; returns value-free provenance only (values never cross the wire). Dies with its session.
session_cookies stateful Raw cookie values incl. HttpOnly/Secure. Opt-in (VOIDCRAWL_ALLOW_CREDENTIAL_CAPTURE=1). Prefer cookie_lease_open.

This is an abbreviated list; the perceive/act tools (click, click_by_role, type_text, eval_js, extract, session_ax_tree, detect_captcha, …) are documented in the published MCP and File Downloads guides.

Each tool accepts a wait_for string: "networkidle" (default), "selector:<css>", or "ms:<n>".

Install

Repo-local (dev)

The repo ships an ../../.mcp.json at the root that runs the server via cargo run. Claude Code will pick it up automatically when launched from the repo.

Global

cargo install --path .
claude mcp add voidcrawl voidcrawl-mcp -e BROWSER_COUNT=1 -e TABS_PER_BROWSER=5

Configuration (environment)

All knobs are read by BrowserPool::from_env() in void_crawl_core:

Env var Default Meaning
BROWSER_COUNT 1 Number of Chrome processes to launch.
TABS_PER_BROWSER 4 Tabs per Chrome. max_tabs = BROWSER_COUNT * this.
TAB_MAX_USES 50 Hard-recycle a tab after this many acquires.
TAB_MAX_IDLE_SECS 60 Evict a tab after this many seconds idle.
ACQUIRE_TIMEOUT_SECS 30 Max wait for a free tab. 0 = infinite.
CHROME_HEADLESS 1 1 headless, 0 headful.
CHROME_NO_SANDBOX 0 1 to pass --no-sandbox (Docker/CI).
CHROME_WS_URLS Comma-separated CDP WS endpoints to connect to instead of launching.
VIEWPORT_WIDTH 1920 Stealth viewport width.
VIEWPORT_HEIGHT 1080 Stealth viewport height.
CDP_PORT_BASE Pin Chrome's --remote-debugging-port for launched browsers (browser i gets base + i). Unset = OS picks a free ephemeral port, which can't conflict. Set when a firewall only exposes specific ports.

One capability knob is read separately from from_env():

Env var Default Meaning
VOIDCRAWL_ALLOW_DOWNLOADS unset (off) 1 exposes the download / download_arm / download_wait tools. Off by default: downloads pull untrusted bytes to disk over a live auth session, so they're opt-in.

Logging goes to stderr (RUST_LOG=voidcrawl_mcp=debug for more). stdout is reserved for the MCP protocol.

Protocol

Transport: stdio. Protocol version: whatever rmcp 1.4 defaults to.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voidcrawl_mcp-0.5.0.tar.gz (286.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl (12.3 MB view details)

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl (14.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl (14.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl (12.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl (13.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file voidcrawl_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: voidcrawl_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 286.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for voidcrawl_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f5f76c8de6fa5097470fab10a4ca39379b2817a85bc288f9ed790ba49684b1cf
MD5 6714aaa79092be509b76cf3c988b5796
BLAKE2b-256 8b54f943d2725cc941801061665916884d37f215084abc593fc7b987b1b7b88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0.tar.gz:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9b481ad4fb8885ff6a5f65584419f6d76982b24c987449634b3233140dd5dd06
MD5 617788ac9e435aea1f0919a3b3f89d63
BLAKE2b-256 9fb900d6521efcfee127e3a1fbd1d20ecd51365a866e9860b20f5c6653a31915

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c04c9dea77abb6614bae3e479e83695c58993550079bd905c9f69739a80c949f
MD5 f1fc9f6e4aa6e287bd375cc71eccc930
BLAKE2b-256 77e7b2e1b1164cc3c1728f006bcefedaba9b183cc4a400c74b6b2d29f054d4f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15f922acdf8a4b52cdbf014b12b92159da5c86a9a6259a74dc1f6fb7201c51b6
MD5 2caa8b973f560f8f6435a40022f8c30b
BLAKE2b-256 d930b605e794755642c3466cfb8d35b4d2898fcf6c1ebd0f32adc192b4138d01

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d91b08d6e7497a2a39f3a024e8944a666ed2d48f6fab379d0f98bc7757b09281
MD5 4434fd394e31dcc1b74e5e052c6c588d
BLAKE2b-256 ae358f1ebb50a4e0c7dfaee9b666759a07aa64977c95e51d08f2022aaad8df91

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b46d85be0dba173194452db356057ea32a2cc654724595477910217844fdb1ee
MD5 0638126d1c02356e182992df31f4e710
BLAKE2b-256 456504fe12fe93e4ed8d22077e6a95fe9663200196544fe8ae4ec0f505b1e4d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7271e4716e8d8db2b7994643aaa0cfcea50e84c38c776d4d781730943f3be74
MD5 94b6df6137b708adaf5d517c06489714
BLAKE2b-256 af58e8aa92b648e16fc789be5c340586ffa51f796494f1c65d31fa0fc985159c

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df7f5fc2aad18f041a5763d3f296e3591b20a5a365f0e396b26bc000f5159dcb
MD5 86159a177eac255ee86595e46ba1e115
BLAKE2b-256 864b7e69c8c2f3510b29c6468a8ad8adf374085d94658d204d544bd9349d7612

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on CascadingLabs/VoidCrawl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page