A side-by-side look at the Hyperbrowser and Crw MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Hyperbrowser for search & data extraction work as a local process; choose Crw for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
hyperbrowser_scrape, hyperbrowser_extract, hyperbrowser_crawl.CRW_API_KEY.crw_scrape, crw_crawl, crw_check_crawl_status.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 52/100 · Good | 72/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | OAuth 2.0 |
| Pricing | Not declared | Freemium |
| Required env vars | None listed | CRW_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1,161 |
| Directory activity | 1 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 3 | 8 |
| Full listing | View Hyperbrowser | View Crw |
hyperbrowser_scrapeScrape a single web page from a cloud browser and return clean content (markdown, html, links, and page metadata). Handles JS-rendered pages. Example: hyperbrowser_scrape({ url: "https://example.com", _apiKey: "your-key" })hyperbrowser_extractExtract structured JSON data from one or more web pages using an LLM. Provide a JSON schema and/or a natural-language prompt describing what to pull. Example: hyperbrowser_extract({ urls: ["https://example.com"], prompt: "Get the product name and price", schema: { type: "object", properties: { name…hyperbrowser_crawlCrawl a website starting from a URL, following links and scraping each page to markdown. Use maxPages to bound the crawl. Example: hyperbrowser_crawl({ url: "https://example.com", maxPages: 10, _apiKey: "your-key" })crw_scrapeScrape one URL to markdown, HTML, or links.crw_crawlStart an async site crawl; returns a job id to poll with crw_check_crawl_status.crw_check_crawl_statusPoll an async crawl job and retrieve its pages.crw_mapDiscover URLs on a site via sitemap and/or a short crawl. Returns a URL list only, no page content.crw_extractExtract structured JSON from URLs via a prompt and/or JSON schema. Async job — poll crw_check_extract_status with the returned id. Needs an LLM.crw_check_extract_statusPoll an extract job; returns status and, when complete, a per-URL results array.crw_cancel_extractRequest cancellation of an extract job. Returns the canonical status; cancelling remains non-terminal until the claimed URL settles.crw_parse_fileParse a local PDF (base64 in contentBase64) to markdown. No OCR: scanned PDFs return empty markdown with a warning.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"hyperbrowser": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-hyperbrowser"
]
}
}
}
{
"mcpServers": {
"us-crw": {
"command": "npx",
"args": [
"-y",
"crw-mcp@latest"
],
"env": {
"CRW_API_KEY": "YOUR_CRW_API_KEY_HERE"
}
}
}
}