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.

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.

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

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.3.2-py3-none-musllinux_1_2_x86_64.whl (7.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

voidcrawl_mcp-0.3.2-py3-none-musllinux_1_2_aarch64.whl (7.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.3.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

voidcrawl_mcp-0.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

voidcrawl_mcp-0.3.2-py3-none-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.3.2-py3-none-macosx_10_12_x86_64.whl (7.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: voidcrawl_mcp-0.3.2.tar.gz
  • Upload date:
  • Size: 109.9 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.2.tar.gz
Algorithm Hash digest
SHA256 6ffd1fee1bebd5637b24ad20ec647a2a67f9187a487728af09aa74625835a189
MD5 78581fa662352f97cf8ba0e36297c4d5
BLAKE2b-256 edfb7cfed8651222bb913e4586e63f059d294ec7cca08d21de69ba351b54e179

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8c2bc06c2ceb9f60f14ce1b11de6878dfc6aa5232ff375cb1880b576e520fcf0
MD5 f7299a4d60fe9174f356295a440b61a9
BLAKE2b-256 3fb60dbbc076eaf0b151c68219c3f0901ce8a3f0658fc075f445e3e7727c5f9a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 351d84f9d3e173bfcf68dccae7cfbcde43a3b8de37ba24088267d8d138fca60b
MD5 60735d169cb307ee6c1ddab0c272516c
BLAKE2b-256 285002756f02375fd52e4acf77e495b4f41b310ad96c2bee0b34332aa153b99d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 40cfe923c77de0abab14c5d9ac7399ec44a954516efe12f4a9722e1fab07819e
MD5 b100f6f6deac33ee579341e23abd1964
BLAKE2b-256 2794a3faa54f24a1021da93c854c49f21e7b38b1f666cc9e37878f38f1d15e19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c6379ebed1bdc911250eb2a99a041b203de6090141cf5bc3edcac3161e6efe9
MD5 3ca347d20ef7e66ef134a243e36d7c6a
BLAKE2b-256 02bea6715c34c861c672cb204cc07108fb2aaf950a463be337f34cdb6f945860

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea4c46d405aaf0b2460519947c29208f36477ded8e04ef6fe4c2d53c4794a182
MD5 59e9acbca54495be44d9d97722736511
BLAKE2b-256 099ab768093a294b039aadb8f2f44a18e36d8842e420e5016b61e7d7897ddbfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c1059d2f51372980954fa9e8556a5433bb1a342ff094a22d1bf21223aa249af
MD5 d42d8bdc113b62d144ba2b980f6e07b0
BLAKE2b-256 d2c2ef6c6ee155ba777ae4a1222442ada0e07a78c9f76742d21e1d8bc76dcbbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d9d2c35e7881e353d92e215a485cdf1726932b7240d4aeb910c8959d5fe502af
MD5 55d8b7412da659ab3ecc54ad6490ed64
BLAKE2b-256 576e8bf3f6890efd1bc5dbb1686d1e293e7884d9ddb77f44237365972c3c0d5a

See more details on using hashes here.

Provenance

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