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.3.5.tar.gz (155.4 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.3.5-py3-none-win_amd64.whl (11.2 MB view details)

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.3.5-py3-none-musllinux_1_2_x86_64.whl (13.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

voidcrawl_mcp-0.3.5-py3-none-musllinux_1_2_aarch64.whl (12.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.3.5-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.3.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

voidcrawl_mcp-0.3.5-py3-none-macosx_11_0_arm64.whl (11.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.3.5-py3-none-macosx_10_12_x86_64.whl (12.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: voidcrawl_mcp-0.3.5.tar.gz
  • Upload date:
  • Size: 155.4 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.3.5.tar.gz
Algorithm Hash digest
SHA256 fe6000b4332dc93d96bd7f7e108a907c47be256c4835e6540cd017ce82da663f
MD5 f00086c9d60cb2601ffc97d3b9153b4f
BLAKE2b-256 ef7bb718214686a041c275a5e73f5585ca5cfbbfb03f97fd471ce2d2b1265518

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5d3ff0247569e8600b0622213e6bfed089ba1c4036f69c402600ccf147ec8d80
MD5 618a75c44447ea49c38899e60f183c80
BLAKE2b-256 14ffac45d2d7dc773cb18b5b15d347621554f8388f2cb0d56bb47945600cf46f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b14d1b4bcbf91d6b66b5103870283d646e4caf6014220cd0630715db8c11101b
MD5 0b27816bab499c35f9ef4e2e5f39f214
BLAKE2b-256 091fb760debac7525b69a227526a04312d1385f1317386bf08e270f6abc117c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4904f0156fb9957f798083eb046c0c9a16e9f20dfe7ffaeceff1b0f08572260b
MD5 142d8cd923310f72133f353283e95d2c
BLAKE2b-256 863afec9fb5f934a7fb8ff41ba601ad4ac5ae857537bf69d4943fdce73055122

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e20789689c3a53ca20a758acd0f4743e0e7ad0c8605f77abaf807ee1c39ed0c
MD5 f88f81e10891b8c8069d47c69c0dc337
BLAKE2b-256 3db5a67877cbd20323c58f12e59090120d57bdcdefb553be1bc7b982c62cd844

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 78653b1444b06ce44641ead1e3f96801857f581dfc1b6946f789ca6db8fc5108
MD5 11ce81ebea109889f7458a112f36b7b1
BLAKE2b-256 00139ea835439e94d468668b86a10ae29f4fd3ac5cd14554d8a4ccb96f630d8a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78ee8c6480deb0352e1f04da630f0851197109b5a086a6c4851ce3154dfc6048
MD5 513049d7da4de6cc4d7d29a59ae622f2
BLAKE2b-256 484da30178a246f2ea94479f30d3bd3c769b1a01b15878f90ebe82b844e3fc4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d4235db794c5ede2c87ef9372ed7d138ee940424c11715e042afcc40a8fb1b43
MD5 d04d2944c0fdc1685e366ff1cf7f78ef
BLAKE2b-256 92aa0c771ab7ba48c8d0ee150e2f2b6d287afd9f69ec29c2a1b97c38902bb88a

See more details on using hashes here.

Provenance

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