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

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.3.7-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.7-py3-none-musllinux_1_2_aarch64.whl (12.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.3.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

voidcrawl_mcp-0.3.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.3.7-py3-none-macosx_10_12_x86_64.whl (12.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: voidcrawl_mcp-0.3.7.tar.gz
  • Upload date:
  • Size: 161.8 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.7.tar.gz
Algorithm Hash digest
SHA256 916b7ea292d63c8f9443af6b29b31d0d072c2380a94be4d0eb88341c1e3e3b89
MD5 8160e5e7ec59217b05667cd1f2ab5f13
BLAKE2b-256 855263fc9c6fc012a9984bd1b7e9ec06bb968295d8fde831a53fa91778f48cb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 03a011c9c44fae1df7ac722b97df614b4aed4ebd75a1f8db20b5c2dec9282edd
MD5 85febf6ec61b43039726ba3e22547551
BLAKE2b-256 8f7363aed61230746a15960b9d94c5f770e46e585f5c1f60ac0b56c5233f4603

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7108b330c6c5a84369627ce2c2b6bee8a037556a2ee3658efa4b2b71fe96798d
MD5 617e2c006bc75694d8f3fc07f564fa20
BLAKE2b-256 ee4495225f4cf591455cb4a97fe38a47745229ee47a4fd3db4f46bb3888487af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 38946e45fb6bfca3de1f1706b9584b65cd8805d63e85a74c3ae35dca779dd0a7
MD5 8f96091e5474b5b0bf77f34ce4508b30
BLAKE2b-256 bceb6290209687179ba461dcf0cbaba56bec1dbbf6911c702ca40820505f218d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9c4317914161478a1492c6d75f6fe5ee81946b97d576fc82e5dbe3a62903c8d
MD5 3e843d0eaabca65438656aaeaf189dbe
BLAKE2b-256 5e93ff5b837c7c2f005e121183b15fc087ce4cdbd9b21db09f0ed7647e258fe2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e5b5df7cdec0f3340dbbfd24ad9fb49826b35efff1df19e96def1a51e1f8672a
MD5 d101ca7ec9f5e36bd67b750ff22607f9
BLAKE2b-256 b155fa415c9b0499fd9c67b5fe0a332025cf5a5bbff37ef065bf1f0967f2162e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a19c32829b8259f19284d799e99683f04e06af3efbf26b783a2a1ad1e9c95713
MD5 0141f4e9a3a06cd11d25f7f3f9e9ced0
BLAKE2b-256 e1e21c7878c505ce52bd4f7c5b42895575fd2eef3568fd60cc77cbf6db0cafa5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe911ee8c617e88d9c9dc832ad8e8082c6b70c7b5ac6350a51a603f772abde21
MD5 3be96299f86795bc5a152b5149334fb2
BLAKE2b-256 c89e183bfc46b7b2353d7e353f54eff232c58c0134674b6ea7faeabb5e621b29

See more details on using hashes here.

Provenance

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