Skip to main content
Glama

Crawl-MCP: Inoffizieller MCP-Server für crawl4ai

⚠️ Wichtig: Dies ist eine inoffizielle MCP-Server-Implementierung für die exzellente crawl4ai-Bibliothek. Nicht verbunden mit dem ursprünglichen crawl4ai-Projekt.

Ein umfassender Model Context Protocol (MCP)-Server, der die leistungsstarke crawl4ai-Bibliothek mit fortschrittlichen KI-Funktionen kombiniert. Extrahieren und analysieren Sie Inhalte aus jeder Quelle: Webseiten, PDFs, Office-Dokumente, YouTube-Videos und mehr. Bietet intelligente Zusammenfassungen, um den Token-Verbrauch drastisch zu reduzieren und gleichzeitig wesentliche Informationen zu erhalten.

🌟 Hauptfunktionen

  • 🔍 Google-Suche-Integration - 7 optimierte Suchgenres mit offiziellen Google-Operatoren

  • 🔍 Erweitertes Web-Crawling: JavaScript-Unterstützung, Deep-Site-Mapping, Entitätsextraktion

  • 🌐 Universelle Inhaltsextraktion: Webseiten, PDFs, Word-Dokumente, Excel, PowerPoint, ZIP-Archive

  • 🤖 KI-gestützte Zusammenfassung: Intelligente Token-Reduzierung (bis zu 88,5 %) bei Erhalt wesentlicher Informationen

  • 🎬 YouTube-Integration: Extrahieren Sie Videotranskripte und Zusammenfassungen ohne API-Schlüssel

  • ⚡ Produktionsbereit: 19 spezialisierte Tools mit umfassender Fehlerbehandlung

Related MCP server: Crawl4AI MCP Server

🚀 Schnellstart

Voraussetzungen (zuerst erforderlich)

  • Python 3.11 oder höher (FastMCP erfordert Python 3.11+)

Systemabhängigkeiten für Playwright installieren:

Ubuntu 24.04 LTS (manuell erforderlich):

# Manual setup required due to t64 library transition
sudo apt update && sudo apt install -y \
  libnss3 libatk-bridge2.0-0 libxss1 libasound2t64 \
  libgbm1 libgtk-3-0t64 libxshmfence-dev libxrandr2 \
  libxcomposite1 libxcursor1 libxdamage1 libxi6 \
  fonts-noto-color-emoji fonts-unifont python3-venv python3-pip

python3 -m venv venv && source venv/bin/activate
pip install playwright==1.55.0 && playwright install chromium
sudo playwright install-deps

Andere Linux/macOS:

sudo bash scripts/prepare_for_uvx_playwright.sh

Windows (als Administrator):

scripts/prepare_for_uvx_playwright.ps1

Installation

UVX (Empfohlen - am einfachsten):

# After system preparation above - that's it!
uvx --from git+https://github.com/walksoda/crawl-mcp crawl-mcp

Docker (Produktionsbereit):

# Clone the repository
git clone https://github.com/walksoda/crawl-mcp
cd crawl-mcp

# Build and run with Docker Compose (STDIO mode)
docker-compose up --build

# Or build and run HTTP mode on port 8000
docker-compose --profile http up --build crawl4ai-mcp-http

# Or build manually
docker build -t crawl4ai-mcp .
docker run -it crawl4ai-mcp

Docker-Funktionen:

  • 🔧 Multi-Browser-Unterstützung: Chromium, Firefox, Webkit Headless-Browser

  • 🐧 Google Chrome: Zusätzliches Chrome Stable für Kompatibilität

  • Optimierte Leistung: Vorkonfigurierte Browser-Flags für Docker

  • 🔒 Sicherheit: Ausführung durch Nicht-Root-Benutzer

  • 📦 Vollständige Abhängigkeiten: Alle erforderlichen Bibliotheken enthalten

Claude Desktop-Einrichtung

UVX-Installation: Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "crawl-mcp": {
      "transport": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/walksoda/crawl-mcp",
        "crawl-mcp"
      ],
      "env": {
        "CRAWL4AI_LANG": "en"
      }
    }
  }
}

Docker HTTP-Modus:

{
  "mcpServers": {
    "crawl-mcp": {
      "transport": "http",
      "baseUrl": "http://localhost:8000"
    }
  }
}

Für die japanische Benutzeroberfläche:

"env": {
  "CRAWL4AI_LANG": "ja"
}

📖 Dokumentation

Thema

Beschreibung

Installationsanleitung

Vollständige Installationsanweisungen für alle Plattformen

API-Referenz

Vollständige Tool-Dokumentation und Anwendungsbeispiele

Konfigurationsbeispiele

Plattformspezifische Einrichtungskonfigurationen

HTTP-Integration

HTTP-API-Zugriff und Integrationsmethoden

Erweiterte Nutzung

Techniken und Workflows für Power-User

Entwicklerhandbuch

Mitwirkung und Einrichtung für die Entwicklung

Sprachspezifische Dokumentation

🛠️ Tool-Übersicht

Web-Crawling (3)

  • crawl_url - Extrahiert Webseiteninhalte mit JavaScript-Unterstützung

  • deep_crawl_site - Crawlt mehrere Seiten einer Website mit konfigurierbarer Tiefe

  • crawl_url_with_fallback - Crawlt mit Fallback-Strategien für Anti-Bot-Seiten

Datenextraktion (3)

  • intelligent_extract - Extrahiert spezifische Daten von Webseiten mittels LLM

  • extract_entities - Extrahiert Entitäten (E-Mails, Telefonnummern usw.) von Webseiten

  • extract_structured_data - Extrahiert strukturierte Daten mittels CSS-Selektoren oder LLM

YouTube (4)

  • extract_youtube_transcript - Extrahiert YouTube-Transkripte mit Zeitstempeln

  • batch_extract_youtube_transcripts - Extrahiert Transkripte von mehreren YouTube-Videos (max. 3)

  • get_youtube_video_info - Ruft YouTube-Video-Metadaten und Transkriptverfügbarkeit ab

  • extract_youtube_comments - Extrahiert YouTube-Videokommentare mit Paginierung

Suche (4)

  • search_google - Durchsucht Google mit Genre-Filterung

  • batch_search_google - Führt mehrere Google-Suchen durch (max. 3)

  • search_and_crawl - Durchsucht Google und crawlt die Top-Ergebnisse

  • get_search_genres - Ruft verfügbare Suchgenres ab

Dateiverarbeitung (3)

  • process_file - Konvertiert PDF, Word, Excel, PowerPoint, ZIP in Markdown

  • get_supported_file_formats - Ruft unterstützte Dateiformate und Funktionen ab

  • enhanced_process_large_content - Verarbeitet große Inhalte mit Chunking und BM25-Filterung

Batch-Operationen (2)

  • batch_crawl - Crawlt mehrere URLs mit Fallback (max. 3 URLs)

  • multi_url_crawl - Multi-URL-Crawling mit musterbasierter Konfiguration (max. 5 URL-Muster)

💾 Große Ergebnisse auf der Festplatte speichern (Token-Sparer)

Alle Tools zur Informationsbeschaffung akzeptieren einen optionalen output_path-Parameter, der die vollständig abgerufenen Inhalte direkt auf die Festplatte schreibt und eine schlanke Antwort nur mit Metadaten zurückgibt. Dies ermöglicht es einem LLM, riesige Seiten, lange YouTube-Transkripte oder ganze Batches abzurufen, ohne das Kontext-Budget zu sprengen – lesen Sie nur bei Bedarf aus der gespeicherten Datei.

Funktionsweise:

  • Einzeldateitools (z. B. crawl_url, extract_youtube_transcript) schreiben eine .md-Datei (oder .json für JSON-basierte Tools) – übergeben Sie einen absoluten Dateipfad; die Erweiterung wird automatisch hinzugefügt, falls sie fehlt. Eine vorhandene reguläre Datei an diesem Pfad wird abgelehnt, es sei denn, overwrite=true ist gesetzt.

  • Batch-Tools (batch_crawl, multi_url_crawl, deep_crawl_site, search_and_crawl, batch_extract_youtube_transcripts) erwarten einen absoluten Verzeichnispfad und schreiben eine .md-Datei pro URL plus index.json. Jeder nicht existierende Pfad wird als Verzeichnis behandelt und erstellt – einschließlich Namen, die Punkte enthalten, wie /tmp/run.v1. Wenn der Pfad bereits als reguläre Datei existiert, wird der Aufruf abgelehnt. batch_crawl / multi_url_crawl behalten ihre list-Rückgabeform bei und betten bei jedem erfolgreichen Element einen output_file-Schlüssel ein.

  • Request-Dict-Tools (search_google, batch_search_google, search_and_crawl, batch_extract_youtube_transcripts) lesen die Persistenzschlüssel direkt aus ihrem Request-Dict.

  • Gemeinsame Parameter: output_path (absolut; None oder "" überspringt die Persistenz), include_content_in_response (Standard false – wenn true, wird der Inhalt auch in die Antwort aufgenommen, immer noch unterliegend jeglicher content_limit/content_offset/max_content_per_page-Kürzung), overwrite (Standard false).

  • Schreibvorgänge sind atomar pro Datei (temporäre Datei + os.replace); übergeordnete Verzeichnisse werden automatisch erstellt; der vollständige, nicht gekürzte Payload wird vor jeglicher Kürzung oder tool-internen Trunkierung gespeichert, sodass die Kopie auf der Festplatte immer vollständig ist, auch wenn die Antwort gekürzt wurde.

  • Batch-Dict-Tools (deep_crawl_site, search_and_crawl, batch_extract_youtube_transcripts) überspringen die Persistenz pro Element für Elemente, die success=false melden; diese erscheinen dennoch in der index.json mit file: null, damit Aufrufer den Versuch nachvollziehen können.

Beispiel für eine Markdown-Einzeldatei:

{
  "tool": "crawl_url",
  "arguments": {
    "url": "https://example.com/long-article",
    "output_path": "/tmp/crawl_out/article.md"
  }
}

JSON-strukturierte Extraktion (Erweiterung automatisch hinzugefügt):

{
  "tool": "extract_structured_data",
  "arguments": {
    "url": "https://example.com/products",
    "extraction_type": "css",
    "css_selectors": {"price": ".price", "name": "h1"},
    "output_path": "/tmp/crawl_out/products"
  }
}

Batch-Verzeichnis-Modus:

{
  "tool": "batch_crawl",
  "arguments": {
    "urls": ["https://a.example", "https://b.example"],
    "output_path": "/tmp/crawl_out/batch_run1"
  }
}

Jede gespeicherte Markdown-Datei beginnt mit einem YAML-Frontmatter-Block, der url, title, fetched_at und source_tool enthält, sodass das Artefakt selbsterklärend ist.

🎯 Häufige Anwendungsfälle

Inhaltsrecherche:

search_and_crawl → extract_structured_data → analysis

Dokumentations-Mining:

deep_crawl_site → batch processing → extraction

Medienanalyse:

extract_youtube_transcript → summarization workflow

Site-Mapping:

batch_crawl → multi_url_crawl → comprehensive data

🚨 Schnelle Fehlerbehebung

Installationsprobleme:

  1. Führen Sie Setup-Skripte mit entsprechenden Berechtigungen erneut aus

  2. Versuchen Sie die Entwicklungsmethode für die Installation

  3. Überprüfen Sie, ob Browser-Abhängigkeiten installiert sind

Leistungsprobleme:

  • Verwenden Sie wait_for_js: true für JavaScript-lastige Seiten

  • Erhöhen Sie das Timeout für langsam ladende Seiten

  • Verwenden Sie extract_structured_data für gezielte Extraktion

Konfigurationsprobleme:

  • Überprüfen Sie die JSON-Syntax in claude_desktop_config.json

  • Stellen Sie sicher, dass Dateipfade absolut sind

  • Starten Sie Claude Desktop nach Konfigurationsänderungen neu

🏗️ Projektstruktur

  • Original-Bibliothek: crawl4ai von unclecode

  • MCP-Wrapper: Dieses Repository (walksoda)

  • Implementierung: Inoffizielle Integration durch Dritte

📄 Lizenz

Dieses Projekt ist ein inoffizieller Wrapper um die crawl4ai-Bibliothek. Bitte beachten Sie die ursprüngliche crawl4ai-Lizenz für die zugrunde liegende Funktionalität.

🤝 Mitwirkung

Siehe unser Entwicklerhandbuch für Richtlinien zur Mitwirkung und Anweisungen zur Einrichtung der Entwicklung.

🔗 Verwandte Projekte

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
2dResponse time
4wRelease cycle
12Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    A locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.
  • A
    license
    -
    quality
    C
    maintenance
    MCP server integrating Crawl4AI for universal web crawling and data extraction. Enables AI agents to crawl, extract markdown/HTML, take screenshots, generate PDFs, and execute JavaScript on web pages.
    67
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/walksoda/crawl-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server