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-chromedrives the user's single visible Chrome tab.voidcrawl-mcpdrives 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.mdfor 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_screenshot |
stateful | PNG of the session's current page as-is — no navigation. |
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). |
network_capture_arm / network_capture_wait |
stateful | Arm real CDP Network.* capture for named URL globs before the triggering action; returns request + response headers, status, opt-in body. Credential header values are <redacted> unless opted in and VOIDCRAWL_ALLOW_CREDENTIAL_CAPTURE=1. |
cookie_lease_open / cookie_lease_revoke |
stateful | Fork the cookies reachable by one replay origin into a revocable, scope-bound lease; returns value-free provenance only (values never cross the wire). Dies with its session. |
session_cookies |
stateful | Raw cookie values incl. HttpOnly/Secure. Opt-in (VOIDCRAWL_ALLOW_CREDENTIAL_CAPTURE=1). Prefer cookie_lease_open. |
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.
Metadata
Release files for voidcrawl-mcp 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| voidcrawl_mcp-0.5.0.tar.gz | 286.1 kB | With provenance | Details for voidcrawl_mcp-0.5.0.tar.gz |
Built distributions (wheels)
Total release size: 95.4 MB
Release files / voidcrawl_mcp-0.5.0.tar.gz
| Download URL | voidcrawl_mcp-0.5.0.tar.gz |
|---|---|
| Size | 286.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5f76c8de6fa5097470fab10a4ca39379b2817a85bc288f9ed790ba49684b1cf
|
|
BLAKE2b-256 checksum How to use checksums |
8b54f943d2725cc941801061665916884d37f215084abc593fc7b987b1b7b88d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-win_amd64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9b481ad4fb8885ff6a5f65584419f6d76982b24c987449634b3233140dd5dd06
|
|
BLAKE2b-256 checksum How to use checksums |
9fb900d6521efcfee127e3a1fbd1d20ecd51365a866e9860b20f5c6653a31915
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
c04c9dea77abb6614bae3e479e83695c58993550079bd905c9f69739a80c949f
|
|
BLAKE2b-256 checksum How to use checksums |
77e7b2e1b1164cc3c1728f006bcefedaba9b183cc4a400c74b6b2d29f054d4f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 14.0 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
15f922acdf8a4b52cdbf014b12b92159da5c86a9a6259a74dc1f6fb7201c51b6
|
|
BLAKE2b-256 checksum How to use checksums |
d930b605e794755642c3466cfb8d35b4d2898fcf6c1ebd0f32adc192b4138d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 14.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
d91b08d6e7497a2a39f3a024e8944a666ed2d48f6fab379d0f98bc7757b09281
|
|
BLAKE2b-256 checksum How to use checksums |
ae358f1ebb50a4e0c7dfaee9b666759a07aa64977c95e51d08f2022aaad8df91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.0 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
b46d85be0dba173194452db356057ea32a2cc654724595477910217844fdb1ee
|
|
BLAKE2b-256 checksum How to use checksums |
456504fe12fe93e4ed8d22077e6a95fe9663200196544fe8ae4ec0f505b1e4d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.5 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d7271e4716e8d8db2b7994643aaa0cfcea50e84c38c776d4d781730943f3be74
|
|
BLAKE2b-256 checksum How to use checksums |
af58e8aa92b648e16fc789be5c340586ffa51f796494f1c65d31fa0fc985159c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logRelease files / voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl
| Download URL | voidcrawl_mcp-0.5.0-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 13.2 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
df7f5fc2aad18f041a5763d3f296e3591b20a5a365f0e396b26bc000f5159dcb
|
|
BLAKE2b-256 checksum How to use checksums |
864b7e69c8c2f3510b29c6468a8ad8adf374085d94658d204d544bd9349d7612
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logSecurity for voidcrawl-mcp 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 8 files in this release have been uploaded with provenance metadata.
Attestation for voidcrawl_mcp-0.5.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.