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

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.4.1-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.1-py3-none-musllinux_1_2_aarch64.whl (13.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.4.1-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.1-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.1-py3-none-macosx_11_0_arm64.whl (11.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.4.1-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.1.tar.gz.

File metadata

  • Download URL: voidcrawl_mcp-0.4.1.tar.gz
  • Upload date:
  • Size: 187.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.4.1.tar.gz
Algorithm Hash digest
SHA256 7c02c211e1466778083abc93eb0cccc75751fec35f4ae67c4a17453637eed3d1
MD5 d0fc8bfa410bc2ca0a2a9530c5c72b95
BLAKE2b-256 a3b449043fd1f0fba596bd8cc15759eb15d66a70acad66fa5f02a64afbdb1bc4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 54f1f47f6abc3c2a5a4c3cb1951baabc6d2626b2342c6e676eb69fe1bef9d78a
MD5 6ad616f56537bd8c10f953ac87db3e6d
BLAKE2b-256 7c5b402902a436b30844e88d69a39b782734cee18801c13cb4f306b6198d3e74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 66481a5b8d0708a545125db7f15ae9d4e172947a928560dcdae7837db523a41a
MD5 4ae9f0fb6bc6d6733a90ac83202fe489
BLAKE2b-256 9bae39b97244c418d56e2721736e1bac5e273b5edd8a4eaa1f8c6ce69e807150

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 73c72ae428e3f680f3fecae42fda1b1c1890a157aaa206e615e2d4dca167eacd
MD5 a8a4d36f1f8fcd306fe7fc5b0278a478
BLAKE2b-256 b0ec666aa81dbb630bc4e9618c2f01962bb7b79b88d076267f9edec2ed403a1a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66aa9c1fe3c4d3f53faf92ccf3a7bd489e23b0593c25f2abd05f22ed04bf6b1e
MD5 29a6215c94f01e5df5e12ebf1d257a95
BLAKE2b-256 4ab6589cef2dca1a0a922b7b50297cae13f9ed013da249fdb7fde8131a35c402

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5aef9ae596b92d61fa25ff7f2a30740294c460ca806d32cc80bec87677b4d6da
MD5 8355bd710442d3ccc9b9b9a55017bf9a
BLAKE2b-256 10d35c48e9ea1eab7b4f7402f13c45591409279e556fe9709d2e9cd176561369

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 beb97d40efddaed5b4cf47ff7138cf69da8903e08c6d5f5e0164ce4442862542
MD5 1fe33d61b093782031eb942e301b52bd
BLAKE2b-256 75848982ac646238d900c6fe74e9148c3199602ce7e5f4d200860a3e79b00ed5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 845d01e59383edf821fed6b2ca8fe1e0d9e9aacd4642f3439ddc3ab257169303
MD5 95eb6dba5f4575279fb911203c659082
BLAKE2b-256 57c1d522559409d1d7104ebe51bbeb384e2ac006c20a44ff451c8f606c2fc41b

See more details on using hashes here.

Provenance

The following attestation bundles were made for voidcrawl_mcp-0.4.1-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