Skip to main content

Stdio MCP server for stealthy headless Chrome via voidcrawl — expose the voidcrawl Chrome pool to Claude Code

Project description

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_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).

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.

Project details


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.4.0.tar.gz (187.2 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.4.0-py3-none-win_amd64.whl (11.4 MB view details)

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.4.0-py3-none-musllinux_1_2_x86_64.whl (13.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

voidcrawl_mcp-0.4.0-py3-none-musllinux_1_2_aarch64.whl (13.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

voidcrawl_mcp-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

voidcrawl_mcp-0.4.0-py3-none-macosx_11_0_arm64.whl (11.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.4.0-py3-none-macosx_10_12_x86_64.whl (12.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: voidcrawl_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 187.2 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.4.0.tar.gz
Algorithm Hash digest
SHA256 ca8fd7fdd2b351f5a18605f69cfdf5991cfed2563fbbbd8f180d82dd2ad2f8bf
MD5 c0f388501554cad0e75680c273987283
BLAKE2b-256 e5f8e454b6723e68fbf04e84bfb4cb1f13485abdee0003e3c4229b7db25b2f95

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 33b1979c6b860fa948d706200723d12c3b7dd024b3a58376d15c4d4a0be7533d
MD5 34e95a7898558be320e7c4d1a6ba8337
BLAKE2b-256 d6abed687b13f566886b1bca751f5b30c4507bf15c0bdaab994e78513d7d728d

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7132d67fe06ea6109b0973b1ab90389953da9c15322a872f6d2a6b6fb236903f
MD5 3822fa9e7de8bdeddbe0610a4618977e
BLAKE2b-256 c693411ad7f0e16ce88397565b4bf6f944a737725e2a0754b789f3b3212d6bd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9c127148b32989a5f28ae1ad000bff2f9891daa4acfed82bc4d89ccef9ddef22
MD5 ebdb3ce12bea2920bc7312aba1a773bb
BLAKE2b-256 e213a5504648fa37d5f419523b476b5e4cbfe054d726469afd793301b7d3ca90

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 788412f47eb81e4b7cc22f46b6a559813efb9882d2cc3b3b1d43610aaaf1350d
MD5 6ef9aba7bb699089d00107fcd2d6e39e
BLAKE2b-256 b636d2790fd5f25dfc0b38a03bcc50432f6bde43c8c88c20153952882fe49bc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60fffb5dde342c427ae7aa426175038e0d8ead0f57398428d5cac89ef42f171f
MD5 d2625d295d6753ba54b0a490ef4e3dfc
BLAKE2b-256 ff270d95f69492e923c8970060b0879d26ed794ee385e396bf6cbf3e1fad369c

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a458057fd88d33691069b4c2ecafec04dcb32ed681158ce9228e1c2e2e81f992
MD5 58421dcb804b5b1794ac6eb4fb768d56
BLAKE2b-256 f3a3103ea7ed9e6176d42b56699e5166dfa1ab6db72b4e253e629d5ffa23038b

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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.4.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 674c477edf8d47766a07d000d646aca91fcd7c9cf867e6a275229dba24fd4501
MD5 f51c0da59ebc5c58582cb27b8259ea31
BLAKE2b-256 3d7fca8b49543f344e56d897092408a7381ba59602a24c67ab763956a7186b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.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 Pingdom Monitoring Sentry Error logging StatusPage Status page