CrawlForge MCP

by mysleekdesigns

Not rated
GitHub

Description

CrawlForge MCP is a production-ready MCP server with 18 web scraping tools for AI agents. It gives Claude, Cursor, and any MCP-compatible client the ability to fetch URLs, extract structured data with CSS/XPath selectors, run deep multi-step research, bypass anti-bot detection…

About

CrawlForge MCP is a production-ready MCP server with 18 web scraping tools for AI agents. It gives Claude, Cursor, and any MCP-compatible client the ability to fetch URLs, extract structured data with CSS/XPath selectors, run deep multi-step research, bypass anti-bot detection with TLS fingerprint randomization…

Details

Author
mysleekdesigns
Categories
Web Scraping, Automation, Other

Setup

Install CrawlForge MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/mysleekdesigns/crawlforge-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

CrawlForge MCP is a production-ready MCP server with 18 web scraping tools for AI agents. It gives Claude, Cursor, and any MCP-compatible client the ability to fetch URLs, extract structured data with CSS/XPath selectors, run deep multi-step research, bypass anti-bot detection with TLS fingerprint randomization, process documents, monitor page changes, and more. Credit-based pricing with a free tier (1,000 credits/month, no credit card required).

27 web scraping, crawling, deep-research & autonomous-extraction tools for Claude, Cursor & any MCP client.
Clean Markdown & structured JSON from any site. Get started with1,000 free credits— no credit card required.

⭐ to follow along — it genuinely helps others discover the project.

- 27 MCP-native tools— scraping, crawling, search, real Google SERP rank tracking, deep research, an autonomousagent, a unified multi-formatscrape, document processing, stealth browsing, and more, callable directly from your AI assistant.
- Generous free tier— 1,000 credits to start instantly, no credit card. Credits never expire and roll over month-to-month.
- Local-LLM by defaultextract_with_llmruns against a localOllamamodel out of the box: no LLM API key, no per-token cost, and your data never leaves your machine. Cloud (OpenAI/Anthropic) is opt-in.
- LLM-ready output— clean Markdown, structured JSON (schema-driven), screenshots, links, and metadata from a single fetch.
- Autonomousagent— describe what you need in natural language; it plans, gathers, and shapes an answer under orchestrator-enforced hard stops (max steps/URLs/wall-clock) — no URLs required.
- Security-hardened— SSRF protection on every request, a fail-closed backend allow-list, a vetted action allowlist for browser automation, and per-tool credit gating.
- Works everywhere MCP does— Claude Desktop, Claude Code, Cursor, and any other MCP-enabled client, configured in one command.

Comparison reflects publicly documented capabilities at time of writing. CrawlForge is MIT-licensed and MCP-first — built to plug straight into AI coding assistants.

Every tool requires a CrawlForge API key — new accounts get 1,000 free trial credits to start:

- Guide you through getting your free API key
- Configure your credentials securely
- Auto-configure Claude Code and Cursor(if installed)
- Verify your setup is working

Don't have an API key?Get one free athttps://www.crawlforge.dev/signup

One-step setup (v4.6.0+):crawlforge initdetects your API key, installs the agent skill, and idempotently merges the MCP config stanza into Claude Code, Claude Desktop, and Cursor. Usecrawlforge init --all --yesto configure every detected client non-interactively.

3. Configure Your IDE (if not auto-configured)

{ "mcpServers": { "crawlforge": { "command": "npx", "args": ["-y", "crawlforge-mcp-server"] } } }

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json

🖥️ For Claude Code CLI (Auto-configured)

The setup wizard automatically configures Claude Code by adding to~/.claude.json:

{ "mcpServers": { "crawlforge": { "type": "stdio", "command": "crawlforge-mcp" } } }

After setup, restart Claude Code to activate.

The setup wizard automatically configures Cursor by adding to~/.cursor/mcp.json:

{ "mcpServers": { "crawlforge": { "type": "stdio", "command": "crawlforge-mcp" } } }

Which launch command?npx -y crawlforge-mcp-serverneeds no global install and always runs the published version (recommended for Claude Desktop). For a global install (npm i -g crawlforge-mcp-server), use the dedicatedcrawlforge-mcpbin — it resolves on yourPATH, so it survives Node/nvm version switches. The barecrawlforgecommand still launches the server when an MCP client spawns it over stdio (backward compatibility for configs created before v4.2.5); interactively it's the CLI — runcrawlforge mcpto start the server by hand.

CrawlForge requires a CrawlForge API key —every tool is metered and consumes credits. New accounts get1,000 free trial creditsto start. Get a key atcrawlforge.dev/signup.

For the full canonical capabilities reference (all tools, CLI commands, stealth engines, research workflow), seeSKILL.md.

Every tool is metered and requires an API key.New accounts get 1,000 free trial credits — no credit card required to start.

- Access to all 27 tools
- Credits never expire and roll over month-to-month
- API access and webhook notifications

# Optional: Set API key via environment export CRAWLFORGE_API_KEY="cf_live_your_api_key_here" # Optional: Custom API endpoint (for enterprise) export CRAWLFORGE_API_URL="https://api.crawlforge.dev" # As of v3.0.18, this variable is validated against an allow-list of CrawlForge backend hosts. # Optional: Local LLM (Ollama) overrides — extract_with_llm defaults to Ollama export OLLAMA_BASE_URL="http://localhost:11434" # default export OLLAMA_DEFAULT_MODEL="llama3.2" # default; any locally-pulled model name works # Optional: Cloud LLM keys — only needed when you pass provider: "openai" or "anthropic" export OPENAI_API_KEY="sk-..." export ANTHROPIC_API_KEY="sk-ant-..." # Optional: limit which tools this client sees — by name, by group, or both (comma-separated) export CRAWLFORGE_TOOLS="scrape,search_web,extract_content" export CRAWLFORGE_TOOL_GROUPS="basic,search,scrape" # unset = all tools; unknown names/groups are ignored with a warning # Optional: deep_research stealth extraction fallback (v4.6.6) — see below export RESEARCH_STEALTH_ENGINE="auto" # auto (default) | camoufox | chromium export RESEARCH_STEALTH_FALLBACK="true" # set to "false" to disable entirely export RESEARCH_MAX_STEALTH_RETRIES="8" # cap on stealth retries per research run

CrawlForge tracks the current MCP spec (2025-06-18) plus select experimental extensions:

- Structured outputscrape,map_site,serp_rank,search_web,extract_structured, andcrawl_deepreturn machine-parseablestructuredContentalongside the usual text, validated against a publishedoutputSchema; legacy clients keep working off the text.
- Self-correctable errors— invalid tool input now comes back as anisError: trueresult the calling model can read and retry from, instead of a raw JSON-RPC protocol error.
- JSON Schema 2020-12tool schemas, deterministictools/listordering (client prompt-cache friendly), and cacheable-result hints on read-only tools.
- Iconson the server, its tools, and its prompts.
- Async tasks(experimental) on the four long-running tools —crawl_deep,batch_scrape,deep_research,agent— for clients that support polling; synchronous results are still returned for clients that don't.

Seedocs/mcp-spec-adoption.mdfor wire-level examples and client-compatibility notes.

Local-LLM quickstart (extract_with_llm with Ollama)

extract_with_llmdefaults to a local Ollama model — no LLM-provider key, no per-token LLM costs, and no data leaving your machine (the CrawlForge credit cost still applies).

# 1. Install Ollama: https://ollama.com # 2. Pull any model from https://ollama.com/library ollama pull llama3.2 # 3. Discover what's installed (from your MCP client) # list_ollama_models() # 4. Extract — defaults to Ollama with the model from step 2 # extract_with_llm({ url: "https://example.com", prompt: "…", model: "llama3.2" })

Stealth extraction for deep_research (Camoufox)

deep_researchautomatically retries sources that block the normal fetch path (Reddit, Quora, forums, and Cloudflare/DataDome-protected pages return HTTP 403) through areal fingerprinted browser, then re-extracts from the rendered HTML. It's bounded (RESEARCH_MAX_STEALTH_RETRIES, default 8, plus a per-page timeout) and lazy — the browser stack only loads when a source is actually blocked.

Engine selection (RESEARCH_STEALTH_ENGINE):

- auto(default) — preferCamoufox(Firefox anti-detect), fall back to Chromium stealth, then plain fetch.
- camoufox— force Camoufox.
- chromium— force the Chromium stealth engine.

Headless Chromiumcannotclear modern challenges (Cloudflare Turnstile, DataDome) —Camoufox can. In testing it recovered Quora and Trustpilot pages that were otherwise fully blocked. To enable it, install the optional dependency and run its one-time binary fetch:

# Camoufox is declared as an optional dependency, so a normal install already pulls it. # If you installed with --no-optional, add it explicitly: npm install camoufox # One-time download of the Camoufox Firefox binary (~130 MB): npx camoufox fetch

Without the Camoufox binary,deep_researchsilently falls back to Chromium stealth and then to plain fetch — no errors, just lower recovery on heavily-protected sites. Disable the whole fallback withRESEARCH_STEALTH_FALLBACK=false.

Note:Hard IP-reputation blocks (e.g. Reddit's edge403) resist headless stealth from any IP and require residential/mobile proxies, which CrawlForge does not provide. Seedocs/stealth-engines.mdfor details.

Your configuration is stored at~/.crawlforge/config.json:

{ "apiKey": "cf_live_...", "userId": "user_...", "email": "you@example.com" }

Once configured, use these tools in your AI assistant:

"Search for the latest AI news" "Extract all links from example.com" "Crawl the documentation site and summarize it" "Monitor this page for changes" "Extract product prices from this e-commerce site"

- Secure Authentication: API keys required for all metered tools
- Local Storage: API keys stored securely at~/.crawlforge/config.json
- HTTPS Only: All connections use encrypted HTTPS
- No Data Retention: We don't store scraped data, only usage logs
- Rate Limiting: Built-in protection against abuse
- Compliance: Respects robots.txt and GDPR requirements

- SSRF enforcement: Every scraped URL is validated before the request is sent — http/https only; blocks loopback, RFC1918, IPv6 private/link-local ranges, cloud metadata endpoints (GCP, Azure), and dangerous ports (SSH, SMTP, DNS, MySQL, Postgres, Redis, MongoDB, etc.). Redirects are re-validated each hop, capped at 5.
- Backend endpoint guard(v3.0.18): The server's own calls to CrawlForge.dev use a separate fail-closed allow-list ({crawlforge.dev, www.crawlforge.dev, api.crawlforge.dev}, HTTPS required). SettingCRAWLFORGE_API_URLto an arbitrary host is blocked at parse time.
- Action allowlist:scrape_with_actionsaccepts only 7 action types (wait,click,type,press,scroll,screenshot,executeJavaScript). No download, file-write, or arbitrary cross-page navigation primitives exist.
- JavaScript gate: TheexecuteJavaScriptaction throws by default. SetALLOW_JAVASCRIPT_EXECUTION=trueat deploy time to enable (not recommended in production).
- MCP Elicitation(v3.6.0): Four tools request user confirmation before executing expensive operations —deep_research(>50 URLs),batch_scrape(sync mode, >25 URLs),crawl_deep(projected >500 pages),extract_structured(schema has >3 required fields with no LLM configured). Credit-low situations also elicit. Confirmation is best-effort: if the MCP client does not support elicitation the tool proceeds (fail-open).
- Per-tool credit gating: Every tool is wrapped withwithAuth()and is metered — credits are checked and deducted before execution, and a valid API key is required for every tool (fail-closed since v3.0.18).

Seedocs/sandboxing-and-approvals.mdfor the full reference.

v3.0.3 (2025-10-01): Removed authentication bypass vulnerability. All users must authenticate with valid API keys.

For the full security policy and how to report a vulnerability, seeSECURITY.md.

- Documentation:https://www.crawlforge.dev/docs
- Issues:
GitHub Issues
- Email:
support@crawlforge.dev
- Discord:
Join our community

MIT License - seeLICENSEfile for details.

Contributions are welcome! Please read ourContributing Guidefirst.

The observation layer for AI agents. Outrings provides deterministic web intelligence through MCP, transforming websites into structured, evidence-backed signals that machines can inspect and trust.

Enable AI agents to get structured data from unstructured web with AgentQL.

Easy web data access. Simplified retrieval of information from websites and online sources.

Real-time web data, structured for agents

Turn websites into datasets with Scrapezy

Scrapfly MCP Server gives AI agents a simple, unified way to scrape live web data with built-in anti-bot handling.

Interact with WebScraping.AI for web data extraction and scraping.

Zillow property data for AI agents — search listings by city or ZIP, look up any US address, and get 50+ fields per property including prices, Zestimates, price history, and sold data.

A server for web crawling and content extraction using the Crawl4AI library.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.