Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for CRW Web Scraper by fastcrw

Pod holds 17 of 17 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to CRW Web Scraper by fastcrw.

Most discussed

renderJs: false appears to still use Lightpanda when Lightpanda is configured

Summary

When a Lightpanda container is configured in Docker Compose, renderJs: false appears to produce the same result as renderJs: true.

Based on my understanding, I would expect renderJs: false to skip JavaScript rendering entirely and return the raw HTML result.

Environment

Request

curl -X POST http://localhost:4050/v2/scrape \
  -H "Content-Type: application/json" \
  -d '{…

[Read the thread](https://github.com/fastcrw/crw/issues/346) · 2026-07-22 · closed · external user · 5 comments

### Missing --user-data-dir: Chromium profile dirs leak into %TEMP% (104 dirs / 1.5 GB in ~3 days), orphaned Chrome processes never reaped

### Summary

`crw-mcp` launches its headless Chromium **without `--user-data-dir`**. When that flag is absent, Chromium creates a fallback profile directory in the OS temp folder named `HeadlessChrome<pid><timestamp>`. It is never cleaned up, and the spawned browser processes are not reaped when the MCP server exits.

Two consequences: the disk fills up quickly, and orphaned browser trees keep running.

### Environment

- `crw-mcp`: **0.35.1** (npm, launched via `npx crw-mcp`)
- OS: Windows…

[Read the thread](https://github.com/fastcrw/crw/issues/594) · 2026-09-30 · closed · external user · 4 comments

### Firecrawl /v2 Support

## Summary

The official `firecrawl-py` SDK (v2+) routes all requests to `/v2/scrape`, `/v2/search`, etc. crw currently only implements `/v1/*` endpoints, causing all requests from the current SDK to return 404.

## Steps to Reproduce

1. Run crw self-hosted (tested on v0.10.0)
2. Set `FIRECRAWL_API_URL=http://crw:3000` and `FIRECRAWL_API_KEY=local`
3. Use the official `firecrawl-py` SDK (v4.x):
```python
   from firecrawl import FirecrawlApp
   app = FirecrawlApp(api_url="http://crw:3000",…

[Read the thread](https://github.com/fastcrw/crw/issues/62) · 2026-05-29 · closed · external user · 4 comments

### Scrape does not work with crw-mcp

Scrape does not work with crw-mcp.exe, every time the error is "Target unavailable: could not be reached...", but map and crawl works

with crw.exe Scrape works

Win64  (without cloud api key)

[Read the thread](https://github.com/fastcrw/crw/issues/24) · 2026-04-15 · closed · external user · 4 comments

### Crw mcp chrome not found windows

## Summary
 
On Windows 11, `crw-mcp` (embedded mode) reports that no browser was found and disables JS rendering, even though Google Chrome is installed and reachable. The renderer falls back to HTTP-only mode, which breaks scraping of any JavaScript-rendered / SPA page.
 
## Environment
 
| | |
|---|---|
| OS | Windows 11 |
| Package | `crw-mcp` |
| Version | `v0.24.0` (embedded mode) |
| Invocation | `npx crw-mcp` |
| Browser | Google Chrome, installed at `C:\Program…

[Read the thread](https://github.com/fastcrw/crw/issues/280) · 2026-07-14 · closed · external user · 3 comments

### security: apply SSRF protection and path validation to browse mode

## Human speaking here

Hi there. Thanks for this project. I was asking AI to perform a security assessment on it to be able to fully trust it. The review came out positive overall, with this as the most actionable recommendation. I don't have the full context to really form an opinion on this, so I'm reporting it as is in case you might find it helpful.

## Summary

The browse mode MCP server (`crw browse`) currently has weaker input validation than the REST API server. Two gaps were…

[Read the thread](https://github.com/fastcrw/crw/issues/61) · 2026-05-25 · closed · outside contributor · 3 comments

### JSON schema error at #/properties/actions/items: schema must be an object

# Symptom

Any chat-completion request to a llama.cpp endpoint that includes the crw `script` tool in its
`tools` list fails with:

HTTP 500 {"error":{"code":500,"message":"JSON schema error at #/properties/actions/items: schema must be an object","type":"server_error"}}


The whole request fails (500) so any agent session that carries the
full crw tool list cannot talk to the model at all while the schema is present.

# Root cause

The `script` tool (exposed by **both** `crw` and…

[Read the thread](https://github.com/fastcrw/crw/issues/578) · 2026-09-23 · closed · external user · 2 comments

### MCP search tools: mismatch between outputSchema and server response make call fails

## Bug
When the agent call the search tool, response always fails:

MCP error -32602: Structured content does not match the tool's output schema: data/data must be object


### Root Cause
I did some digging and I think I found the issue. The `outputSchema` declared for the `crw_search` tool requires `data` to be an object containing a `results` field. However, when i send request directly to server. the response returns `data` as an array.

**crw_search** schema - in…

[Read the thread](https://github.com/fastcrw/crw/issues/391) · 2026-08-02 · closed · external user · 2 comments

## Most recent

### npm launcher cannot start on Windows behind restricted networks: win32 has no npm fast path, GitHub release download fails (ECONNRESET/ETIMEDOUT)

### Summary

On Windows, `npx crw-mcp` (v0.37.1) **cannot start at all** behind a restricted network. The npm package is a JS launcher that resolves the native binary in three steps; on win32 the first two always fail, so it must download from GitHub Releases — and that download is exactly what gets blocked.

The launcher's own stderr:

crw-mcp: could not locate or download the win32-x64 binary. could not fetch SHA256SUMS for v0.37.1: read ECONNRESET (retry) could not fetch SHA256SUMS…

Read the thread · 2026-09-30 · closed · external user · 1 comment

MCP spec conformance: 1 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2025-11-25

Running @hasmcp/mcp-spec-test against npx -y crw-mcp@latest on MCP spec revision 2025-11-25, when a client explicitly requests the 2025-11-25 revision at handshake, the server settles on 2025-06-18 instead — a revision outside the negotiated window — so downstream capability checks can't be verified against the revision actually under test.

Conformance report

MCP 2025-11-25 conformance report

Verdict: not conformant — 1 requirement violated.

Target …

Read the thread · 2026-08-24 · closed · external user · 1 comment

MCP spec conformance: 7 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28

Running @hasmcp/mcp-spec-test against npx -y crw-mcp@latest on MCP spec revision 2026-07-28, the server does not implement server/discover (returns "method not found"), and when offered the 2025-11-25 revision at handshake it settles on 2025-06-18 instead, outside the negotiated window.

Conformance report

MCP 2026-07-28 conformance report

Verdict: not conformant — 7 requirements violated.

Target npx -y crw-mcp@latest
Transport stdio
…

Read the thread · 2026-08-24 · closed · external user · 1 comment

MCP spec conformance: 1 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2025-11-25

Companion issue to the 2026-07-28 report filed separately (results differ per revision, so filing individually rather than merging). When crw-mcp is tested against the 2025-11-25 revision, the one concrete violation is that the server always negotiates down to 2025-06-18 at handshake regardless of what the client offers, even though it also advertises 2025-11-25 and 2026-07-28 support. That mismatch then makes 13 further checks unverifiable, since the suite can't test…

Read the thread · 2026-08-24 · closed · external user · 1 comment

MCP spec conformance: 7 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28

When crw-mcp (via npx -y crw-mcp@latest) is tested against the 2026-07-28 MCP spec revision with @hasmcp/mcp-spec-test, the server does not implement server/discover (returns -32601 method not found: server/discover), and separately always negotiates down to 2025-06-18 at handshake regardless of the version a client offers — outside its own advertised supported window of (2026-07-28, 2025-11-25). Since server/discover never resolves, 22 further checks that depend on it can't be…

Read the thread · 2026-08-24 · closed · external user · 1 comment

MCP extract tools: outputSchema mismatches server response — crw_extract and crw_check_extract_status always fail client validation

Note: This bug report was generated by an AI agent (Sisyphus, running via OpenCode) as part of diagnosing a broken MCP integration. The analysis is based on reading the crw v0.25.2 source code and testing against a live self-hosted instance. All technical claims below are verifiable against the source.

Bug

Both extract-related MCP tools declare outputSchema values that don't match what the server actually returns, causing every extract call to fail MCP client-side schema…

Read the thread · 2026-07-18 · closed · external user · 2 comments

[Bug]: Wrong default searxng_url in config.docker.toml causes search tool to be unavailable

Description The default config.docker.toml ships with searxng_url = "http://searxng-internal:8080" under [search]. That hostname doesn't match the service name used in the reference Docker Compose setup, so the search health check fails and the crw_search MCP tool is never registered. The error message points users toward setting CRW_SEARCH__SEARXNG_URL env var, but that variable isn't set anywhere in the provided compose config -- leaving no obvious path forward.

**Steps to…

Read the thread · 2026-06-04 · closed · external user · 2 comments

MCP Server crw — outputSchema mismatch: declares structured output, returns text-only payload

Summary

Hi! The crw MCP server declares outputSchema (structured output) for its tools (e.g. crw_search), but the actual response bundles all data into a plain string inside data.text instead of placing it in the declared structured fields. This causes failures in MCP clients that strictly validate responses against the declared schema.

Affected tools

What the server declares (outputSchema)…

Read the thread · 2026-06-04 · closed · external user · 1 comment

Unable to force JS rendering, the crawler cannot fetch the webpage at https://baidu.com.

I tested it with Dify MCP.

{"crw_scrape": {"url": "https://baidu.com"}}

{"crw_scrape": "{\"markdown\": \"\", \"metadata\": {\"description\": null, \"elapsedMs\": 610, \"renderedWith\": \"http\", \"sourceURL\": \"https://baidu.com\", \"statusCode\": 200, \"title\": null}}"}

config.default.toml

[server]*
host = "0.0.0.0"
port = 3000
request_timeout_secs = 120
rate_limit_rps = 10              # Max requests/second (global). 0 = unlimited.

[renderer]
mode = "chrome"…

[Read the thread](https://github.com/fastcrw/crw/issues/28) · 2026-04-23 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/fastcrw/crw/issues).