crawlforge-mcpBLOCK
31 MCP tools that give Claude, Cursor and any MCP client the live web — scrape, crawl, search, real Google rank, change tracking, document parsing, plus an autonomous agent that researches from a plain-English prompt with no URLs. Clean Markdown and schema-validated JSON, not raw HTML. Local-Ollama
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
31 web scraping, crawling, deep-research & autonomous-extraction tools for Claude, Cursor & any MCP client. Clean Markdown & structured JSON from any site. Get started with 1,000 free credits — no credit card required.
⭐ Star us on GitHub to follow along — it genuinely helps others discover the project.
Table of Contents
- Why CrawlForge?
- CrawlForge vs. alternatives
- Quick Start (2 Minutes)
- Available Tools
- Pricing
- Advanced Configuration
- Usage Examples
- Security & Privacy
- Support
- Contributing
🎯 Why CrawlForge?
- **31 MCP
a6f6b02b5f75OBSERVED · 2026-10-11Connect
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 crawlforge-mcp-server --env CRAWLFORGE_API_KEY=${CRAWLFORGE_API_KEY} --env DATAFORSEO_LOGIN=${DATAFORSEO_LOGIN} --env DATAFORSEO_PASSWORD=${DATAFORSEO_PASSWORD} -- npx -y [email protected]Exposed tools (37)
36 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
Documentation | read | API references and docs pages — daily, structure tracked so a new parameter or removed endpoint shows up. |
analyze_content | read | Perform comprehensive content analysis including language detection, topic extraction, entity recognition, sentiment analysis, keyword extraction, and readability assessment. |
apple_tool | read | |
competitive-analysis | read | Analyze competitor websites against your own to surface positioning, feature gaps, and SEO differences. |
competitor_urls | read | Comma-separated list of competitor URLs to analyze |
depth | read | Research depth: shallow | medium | deep (default: medium) |
extract_content | read | Extract and analyze main content from web pages with enhanced readability detection, structured data extraction, and content quality assessment. |
extract_data | read | Return the extracted data conforming to the provided schema. |
extract_structured | read | Extract structured data from a webpage using LLM-powered analysis and a JSON Schema. Falls back to CSS selector extraction when no LLM provider is configured. |
extract_text | read | d |
fetch_url | read | |
gated_tool | read | |
internal-nacl-plugin | read | Native Client Executable |
internal-pdf-viewer | read | Portable Document Format |
interval | read | Check interval in seconds (default: 3600) |
mhjfbmdgcfjbbpaeojofohoefgiehjai | read | Portable Document Format |
monitor-changes | write | Set up continuous monitoring for content changes on a URL with webhook notifications. |
name | read | |
our_url | read | Your website URL for comparison |
output_format | read | Output format: markdown (default) or text |
process_document | read | Process documents from multiple sources and formats including PDFs, web pages, and local files with comprehensive content extraction and analysis. |
rag-ingest | read | Scrape and convert one or more URLs into clean markdown suitable for RAG ingestion pipelines. |
report_context | read | |
report_owner | read | |
report_serving | read | |
research-deep-dive | read | Conduct exhaustive multi-source research on a topic with synthesis, conflict detection, and citations. |
site-audit | read | Comprehensive site audit: discovers all pages, extracts metadata, and generates an llms.txt summary. |
slow_echo | read | |
summarize_content | read | Generate intelligent summaries of text content with configurable length, type, and additional analysis including key points and keywords. |
t | read | d |
test_tool | read | |
topic | read | Research topic or question |
track_changes | read | |
url | read | URL to monitor for changes |
urls | read | Comma-separated list of URLs to ingest |
webhook | read | Webhook URL for change notifications |
zebra_tool | read |
Trust audit
BLOCKgrade F · trust 40/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) | WARN |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (10 observation(s))
- Network
- declared (16 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
EVAL_COUNT=$(grep -rn "eval(" --include="*.js" src/ 2>/dev/null | wc -l | tr -d ' ')echo " Found $EVAL_COUNT use(s) of eval() - potential security risk"
EXEC_COUNT=$(grep -rn "exec(" --include="*.js" src/ 2>/dev/null | grep -v "ActionExecutor" | wc -l | tr -d ' ')echo " Found $EXEC_COUNT use(s) of exec() - verify input validation"
page.evaluate(new Function('...args', script), ...args),"metadata.google.internal", # Cloud metadata
"169.254.169.254", # AWS/GCP metadata
("http://169.254.169.254/", True, "AWS metadata"),("http://metadata.google.internal/", True, "GCP metadata"),console.log(` "CRAWLFORGE_API_KEY": "${apiKey.trim()}"`);* logger.error('fetch failed', maskSecrets({ apiKey, url, error }));("http://127.0.0.1/", True, "IPv4 loopback"),("http://127.0.0.1:8080/admin", True, "IPv4 loopback with port"),("http://192.168.1.1/", True, "Private network"),("http://10.0.0.1/", True, "Private network"),("http://172.16.0.1/", True, "Private network"),const API_KEY = 'cf-test-api-key-1234';
const API_KEY = 'cf-test-api-key-1234';
const secret = 'delivery-test-secret';
const TEST_TLS_KEY = `-----BEGIN PRIVATE KEY-----
one `style="display:none"` element became a rule hiding every element small enough to pass
.mcpbignore
const hash = crypto.createHash('md5').update(seed).digest('hex');* (Revision 2, 40-bit RC4 — ISO 32000-1 Algorithms 3.1-3.4) by hand, since
* Node's OpenSSL 3 build has no RC4 cipher (`crypto.getCiphers()` excludes
Gates applied: no_behavioural_pass.
a6f6b02b5f75full audit observations/trust-audit/mcp-server/mysleekdesigns__crawlforge-mcp.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-10-11 | a6f6b02b5f75 | BLOCK | F | 40 | first audit |
Questions
What is the crawlforge-mcp MCP server?
31 MCP tools that give Claude, Cursor and any MCP client the live web — scrape, crawl, search, real Google rank, change tracking, document parsing, plus an autonomous agent that researches from a plain-English prompt with no URLs. Clean Markdown and schema-validated JSON, not raw HTML. Local-Ollama
What tools does crawlforge-mcp expose?
37 in total: 36 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is crawlforge-mcp safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (40/100) and found 9 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 crawlforge-mcp need?
It reads ANTHROPIC_API_KEY, API_KEY, API_KEY_HEADER, BROWSERBASE_API_KEY, CRAWLFORGE_API_KEY, CRAWLFORGE_CREATOR_SECRET, CRAWLFORGE_OAUTH_ENABLED, CRAWLFORGE_OAUTH_ISSUER, CRAWLFORGE_SIGNING_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD and FIXTURE_TEMPLATE_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 crawlforge-mcp run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as crawlforge-mcp-server at 6.20.0.
How current is this page?
The grade is for one exact copy of the source (a6f6b02b5f75), read on 2026-10-11. The repository is watched and re-audited when it changes.