Skip to main content
Glama
johannschiffer

CrawlEngine MCP

README.md
# CrawlEngine MCP (Lite Edition)

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Python 3.10+](https://img.shields.io/badge/Python-3.10+-brightgreen.svg)](https://python.org)
[![MCP Compliant](https://img.shields.io/badge/MCP-2024--11--05-purple.svg)](https://modelcontextprotocol.io)

**CrawlEngine MCP** is a resilient Model Context Protocol server that gives AI agents in **Claude Desktop**, **Cursor**, **Windsurf**, and **Antigravity** clean web-reading superpowers without choking context windows on raw HTML or getting instantly blocked by basic anti-bot firewalls.

---

## ๐Ÿ•ท๏ธ Why CrawlEngine MCP?

Most default web-fetching tools used by AI models suffer from severe drawbacks:
1. **Raw HTML Token Bloat:** A 150KB web page contains ~90% useless boilerplate (navbars, tracking pixels, CSS bundles, cookie banners) that burns LLM tokens and induces hallucinations.
2. **Instant HTTP 403 Blocks:** Default Python `urllib` or `requests` User-Agents trigger anti-bot WAFs immediately.
3. **Broken Relative Links:** Naive scrapers return unnavigable relative paths (`/docs/quickstart`) instead of canonical URLs.

**CrawlEngine** solves this by rotating realistic modern browser fingerprints and transforming messy DOM trees into pristine, semantic Markdown.

---

## โšก Features (Lite Edition)

- ๐Ÿงน **Semantic Markdown Conversion**: Strips scripts, styles, popups, cookie consent overlays, and ads, keeping only the core article or documentation.
- ๐ŸŽญ **Realistic Browser Fingerprinting**: Automatically rotates `User-Agent`, `Sec-Ch-Ua`, and platform headers across Chrome, Safari, and Firefox.
- ๐Ÿ”— **Deep Link Discovery**: Extracts all outbound and internal links with anchor text.
- ๐Ÿท๏ธ **Metadata Extraction**: Gathers OpenGraph, Twitter Cards, meta descriptions, and canonical URLs.
- ๐Ÿชถ **Zero Complex Dependencies**: Pure Python using `httpx` and `beautifulsoup4`.

---

## ๐Ÿš€ Quick Setup in 2 Minutes

### 1. Installation

```bash
git clone https://github.com/johannschiffer/crawlengine-mcp.git
cd crawlengine-mcp
pip install -r requirements.txt
```

### 2. Configure Claude Desktop (`claude_desktop_config.json`)

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

```json
{
  "mcpServers": {
    "crawlengine": {
      "command": "python",
      "args": ["-m", "crawlengine.server"],
      "cwd": "/path/to/crawlengine-mcp"
    }
  }
}
```

### 3. Verify via CLI

```bash
python -m crawlengine.cli scrape https://news.ycombinator.com
```

---

## ๐Ÿ› ๏ธ MCP Tools Exposed to AI Agents

| Tool | Parameters | Description |
|---|---|---|
| `scrape_url` | `url`, `extract_markdown`, `timeout` | Fetches web page and extracts clean, token-efficient Markdown |
| `extract_links` | `url`, `internal_only` | Returns structured array of hyperlinks with anchor texts |
| `extract_metadata` | `url` | Retrieves page title, meta description, and OpenGraph data |

---

## ๐Ÿ’Ž Need Enterprise Anti-Bot Scraping? Upgrade to CrawlEngine Pro

Dealing with complex JavaScript SPAs, Cloudflare Turnstile, or scraping behind proxy pools?

| Feature | Lite (Open Source) | Pro ($14.99 USD) |
|---|:---:|:---:|
| **Semantic Markdown Extraction** | โœ… | โœ… |
| **Browser Fingerprint Rotation** | โœ… | โœ… |
| **OpenGraph & Link Extraction** | โœ… | โœ… |
| **Automatic Headless Browser Fallback** *(Playwright Chromium)* | โŒ | โœ… |
| **JavaScript SPA Hydration** *(React, Next.js, Vue)* | โŒ | โœ… |
| **Proxy Pool Rotation** *(HTTP & SOCKS5 with auto-ejection)* | โŒ | โœ… |
| **Structured Data Extractor** *(JSON-LD, Pricing Tables, Products)* | โŒ | โœ… |
| **Production Docker Container** | โŒ | โœ… |
| **Full Pytest Suite & Anti-Detection Guide** | โŒ | โœ… |

๐Ÿ‘‰ **[Get CrawlEngine Pro on Gumroad ($14.99)](https://johanld.gumroad.com/l/crawlengine-mcp-pro)**

---

## ๐Ÿ“„ License

MIT License. See [LICENSE](LICENSE) for details.

TDQS

B3.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct page-extraction concern: full content as Markdown, hyperlinks, and metadata. An agent can choose unambiguously based on the desired output.

Naming Consistency5/5

All names follow a verb_noun snake_case pattern (scrape_url, extract_links, extract_metadata). The two extract_* tools share a clear family, and the slight verb difference is semantically appropriate.

Tool Count4/5

Three tools is a lean but reasonable surface for a page-level scraping utility, and each tool earns its place. However, for a server branded as a 'CrawlEngine,' the count feels slightly under-scoped for crawling workflows.

Completeness3/5

The set covers single-page content, links, and metadata, but no tool actually crawls a site, follows extracted links, or handles batches/sitemaps. This is a notable gap for a crawl engine, though an agent could chain extract_links and scrape_url manually.

Maintenance

ActivityMaintained
ResponsivenessNo issues