CrwBLOCK
Fast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler & search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use ma
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
fastCRW
Turn URLs into clean markdown or structured JSON with one engine for search, scrape, map, crawl, and extract.
Run it locally as a small Rust binary or use the managed API.
Get 1000 free credits → · Install · Docs
No credit card. Continue with GitHub.
One-command install
curl -fsSL https://fastcrw.com/install | sh
Runs local and free, no account needed. To use the Cloud, paste your key into the same command and it installs the binary, connects the key, and registers the MCP server with the AI coding tools you already have:
curl -fsSL https://fastcrw.com/install | CRW_API_KEY=crw_live_... sh
crw search "rust tutorials"
Claude Code, Cursor
60a6624c2752OBSERVED · 2026-09-29Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add crw:latest -- docker run -i --rm ghcr.io/fastcrw/crw:latest:None crw-mcp
Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
CRW | read | Open-source Firecrawl alternative — self-hosted web scraper & crawler in Rust with MCP server for AI agents |
Trust audit
BLOCKgrade F · trust 51/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (13 observation(s))
- Shell
- declared (6 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
"http://169.254.169.254/latest/meta-data/",
|| host_lower == "metadata.google.internal"
assert!(validate_safe_url(&url("http://metadata.google.internal")).is_err());assert!(validate_safe_url(&url("http://169.254.169.254/latest/meta-data/")).is_err());console.log(`\nAPI key set: ${apiKey.slice(0, 10)}... — export it for cloud mode:`);console.log(` export CRW_API_KEY=${apiKey}`);console.log(`\nMode: cloud — CRW_API_KEY ${apiKey.slice(0, 10)}... → ${apiUrl}`);# base_url = "http://127.0.0.1:9377"
"http://127.0.0.1",
"http://10.0.0.1",
let s = "👨👩👧👦".repeat(50); // family emoji, ZWJ sequences
api_key="crw_live_YOUR-FASTCRW-KEY",
api_key="crw_live_YOUR-FASTCRW-KEY",
api_key="crw_live_YOUR-FASTCRW-KEY",
api_key="crw_live_YOUR-FASTCRW-KEY",
.mailmap
.release-please-manifest.json
.nojekyll
/// password-protected PDF, without needing to implement RC4/AES key
console.log(token.token);
for f in ../../examples/crewai/*.py ../../examples/langchain/*.py; do
let installer = include_str!("../../../install.sh");let installer = include_str!("../../../install.sh");let docker_cfg = concat!(env!("CARGO_MANIFEST_DIR"), "/../../config.docker");"../../up.png",
Gates applied: no_behavioural_pass.
60a6624c2752full audit observations/trust-audit/mcp-server/us__crw.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-29 | 60a6624c2752 | BLOCK | F | 51 | first audit |
Questions
What is the Crw MCP server?
Fast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler & search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use ma
What tools does Crw expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Crw safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (51/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does Crw need?
It reads CRW_API_KEY, FASTCRW_API_KEY, FIRECRAWL_API_KEY and JUDGE_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Crw run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as crw-sdk at 0.36.0.
How current is this page?
The grade is for one exact copy of the source (60a6624c2752), read on 2026-09-29. The repository is watched and re-audited when it changes.