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

Uploaded Python 3Windows x86-64

voidcrawl_mcp-0.3.4-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.4-py3-none-musllinux_1_2_aarch64.whl (12.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

voidcrawl_mcp-0.3.4-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.4-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.4-py3-none-macosx_11_0_arm64.whl (11.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

voidcrawl_mcp-0.3.4-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.4.tar.gz.

File metadata

  • Download URL: voidcrawl_mcp-0.3.4.tar.gz
  • Upload date:
  • Size: 145.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.3.4.tar.gz
Algorithm Hash digest
SHA256 506f38b2e0e2cb383ad64970866ef2bb53f43a057877381d0b55484e37c55f91
MD5 951794a0d2651bb310d372688e4f36e2
BLAKE2b-256 33fcc450f58a024e9b0b93e8836903928218d11489486934079a7a6be2fcfb51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c0c34fdb6616f40b0ee07349c26ce57688b1b97adf9909a7336c62bbcff9f1c1
MD5 bc91841cac5cbcb3153dfb5488730b61
BLAKE2b-256 7922eebda82d0b200680526dcc1a4fb0acf77e93b88ef5da1d9e4b84d0b2144c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6dac2edda3e6a3c623b4b2daec5a8d887b6067565a59541891ecfc1a7e53a914
MD5 b6d62acf03991065c987a7e1f2b133a9
BLAKE2b-256 859cd2ac9bcbf36309afa82c7e88334deb679221a7f8bb2a1b63d5cb49d29669

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 afd0b0f2872464d4663bfba4e765d76826f83a50b82f13b78c5fe53e56ae5188
MD5 8d9e39acd41e587a06e6ba4c2b2039d9
BLAKE2b-256 0b9e799393a5fc9a9bec26dcda1e48067e9c6fb8e78c2383df85a0f71f538d80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07dbe746857b40c15bf0be122a0068bc619786816007961f376f8b941b82af24
MD5 133f9ad387fac640e816e85622eb9ce6
BLAKE2b-256 e67799e3e55d60fae72eb0aac943758ef687aaafe2bfcae5ec51a83d123b4f4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb3236a53b40d05219e82c7e6b00ef52df665e1d837e051fe336c43b65630c8c
MD5 70e986b5a2e363b2f3bbfc1d20d194ee
BLAKE2b-256 5e0c80a7e770c9936d794189a4eadd0e584cdf327444250bbe31addfef455c81

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f04862aee1a5bdcaa9afc8b18c3233e5085fe4566666a07900b49e77ddf35537
MD5 a7d45ccf9ae024bb67ea43ed38b1c493
BLAKE2b-256 01d20bcbe47532a6d733dfb1c7389bc62815931a6b3d4005fb06e8ddc614b15e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for voidcrawl_mcp-0.3.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d36bcfe6287b57ed54a7decba16a0c57d1eb6db1b33679a1082d9b06adf6d779
MD5 fff54aca655e4e0e804e1c10fbbda48b
BLAKE2b-256 a39cfbc7d30cab8c4901d836145986b3737ed073eb21caf63a0ebe2fae71ecf1

See more details on using hashes here.

Provenance

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