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

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.3.3-py3-none-musllinux_1_2_x86_64.whl (13.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

voidcrawl_mcp-0.3.3-py3-none-musllinux_1_2_aarch64.whl (12.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.3.3-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.3-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.3-py3-none-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.3.3-py3-none-macosx_10_12_x86_64.whl (12.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: voidcrawl_mcp-0.3.3.tar.gz
  • Upload date:
  • Size: 133.7 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.3.tar.gz
Algorithm Hash digest
SHA256 316972d2340fde7f2fb81dc7e6fcca161d23a48ac7481e667f15d4f917ccfb3f
MD5 410f7bf7266fcd3c7596871760d0dda8
BLAKE2b-256 7c3cea976b66a3e6e7d6d3c6425980a855a4dfaf41c2765119e74652ca4eb9f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f9f9529c9790ec9bf696d029c60c9e91c189ac89f2af1dc60aa3fc978bb4685a
MD5 bfc45493fd7ff76ff9e2f199fc9cf0a0
BLAKE2b-256 f010a223caefc738d09e6301f89b14c264105ff26fad196767ff5941cb794940

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d248039c02795cae958c2953ec528b3957e326b471f4b3acbff563bcbc59fa0f
MD5 33f68229018896c416463630b9c7c656
BLAKE2b-256 eb292e0189953a46d450d9d1284fb22ed524e1b4c51e1e6a8ff6be1542b2dc54

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c9fb9674ca88bdabb9e660d7eb6dbb9047e84bee9e3832ade925de5bc95340b9
MD5 8c38a009ec88bf4e8b918f117c46f3f9
BLAKE2b-256 7e8dc7d49a6953df68841871d3793eaa7cdb9551abbdbb948e7e1429b43fd81a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 459ea120d9b09943ae303b33f32c022f61b8f48011b406e646d9f617b9785d9c
MD5 569c07a364dd516897038f7167a9d2af
BLAKE2b-256 e2ace26daf2643c5406254d8cf87b205c9d4b03aae3a3ba77e61209510120517

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20c2ccb62242431ef56c154f63a4d29dab9115cd5597408409a311a34f25b55a
MD5 0569acb0b83be09665b80808f92623bb
BLAKE2b-256 c6cb20a975683be357b8f25eb01e8e50a82950e12ab406044dd336eaa6713aa1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f71b6a79b756dccd0d09c2de96d58171cae4f81b58abc532c7313bc7d3dd515c
MD5 a2415a3842c80543861ac7c64bbafb19
BLAKE2b-256 0da4611576b2212aeb51236aef6f548250bd4cb7375ea62ac6deb807b839eb62

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe3d1dbbef4ff597693372a3c1fdbc222f8b63ae3b8ca6db9e4e809eea950448
MD5 c777cabc1498759f914b51dfafd6da64
BLAKE2b-256 50abed1c4926697ea2c542051ccc8cb77f45cb6df4b24f85bc86831cee0c0013

See more details on using hashes here.

Provenance

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