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.2.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.2-py3-none-win_amd64.whl (11.4 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.4.2-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.2.tar.gz.

File metadata

  • Download URL: voidcrawl_mcp-0.4.2.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.2.tar.gz
Algorithm Hash digest
SHA256 f897cadce5c5b4b4b7f00cebdf1c7e94ec064c510fb7613d40ee86c48ebdb6d2
MD5 d797f040982ede900612b7f23e138e75
BLAKE2b-256 0cc03c8525b5bdf767328927cc3f3f7ad525c5edec066534e22fdba10cec85ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 287e7b9f285a358d7dd7e0e74ad28b3b4c2b7c894b6998257fbee6dc08344914
MD5 fb540715f1974fdba626f02e90aa09e1
BLAKE2b-256 587bb431305aae504d93220c25f9eed95c6398c5e8684a505e41e91d84a8d223

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6cab3f10dfe5179fdac551784cc7ac8ade67faf04f5fc1216bedba30e8b0e41
MD5 0f8a1103bcd8f27698d54ab7d8b41ce9
BLAKE2b-256 c82694ca75c77a3278e9037b756c24ea762484e7bdcfa6d482e08937b1e7f6d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e822646c236e479e837fff1cbf47aad13324f3012b66124fa68a71395938f456
MD5 0bc3914d1b43849af9ecf4381c9edcb0
BLAKE2b-256 862c1e3fa9b3ebb80cb0dd62557fef04988f4f023b7f8577a1240199c68188a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78e53f97eeda37ed3d90cd5fab7c292bbaccb64a7d9e0149446ad2b2ff523f6f
MD5 3acc5c96e8f1ae5b26e7c12cf4269f76
BLAKE2b-256 e12ac583d10e15f67268e58741d49dd209ac8ee215ea11b37626aee1bf0bef41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 15f7902759c52382bba15770507ecf4cf500a8ffa245cd0f48980a0bde3b5f1e
MD5 6c7d3e82449c1e16ab086fb46938d333
BLAKE2b-256 76c5a2143234ca4966d26e72a7ecd8a7b8723626ec55d8f4c6b7946c5bc2de09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c877ebc8658cc56a0f313e654527bdde90cd6f44834e186bd0453e536afa2197
MD5 87f24cc48311a82407d426cc2b5ebf8b
BLAKE2b-256 87a1ede126a5f6c0e8ca26ea2bf757d6f9952aa2f21f0680ab7f6deba384eeb5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.4.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4780a579ccb1c7e0f8a43f6d316a737829e42a0194d5b10a5fe83213c76197b0
MD5 3775f2623c7be4e94cc906e29191666e
BLAKE2b-256 82b77036f2b570a71059abe5e528b8b77a9d7cb56ade7505296ef840593ebb5a

See more details on using hashes here.

Provenance

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