Skip to main content
Glama
coleam00

Crawl4AI RAG MCP Server

by coleam00

Eine leistungsstarke Implementierung des Model Context Protocol (MCP), integriert mit Crawl4AI und Supabase, um KI-Agenten und KI-Codierungsassistenten mit erweiterten Web-Crawling- und RAG-Funktionen auszustatten.

Mit diesem MCP-Server können Sie alles scrapen und dieses Wissen dann überall für RAG verwenden.

Das Hauptziel ist die Integration dieses MCP-Servers in Archon , während ich ihn zu einer Wissensmaschine für KI-Codierungsassistenten zur Erstellung von KI-Agenten weiterentwickle. Diese erste Version des Crawl4AI/RAG MCP-Servers wird in Kürze erheblich verbessert, insbesondere durch die Verbesserung seiner Konfigurierbarkeit, sodass Sie verschiedene Einbettungsmodelle verwenden und alles lokal mit Ollama ausführen können.

Überblick

Dieser MCP-Server bietet Tools, mit denen KI-Agenten Websites crawlen, Inhalte in einer Vektordatenbank (Supabase) speichern und RAG-Analysen über die gecrawlten Inhalte durchführen können. Er folgt den Best Practices zum Erstellen von MCP-Servern basierend auf der Mem0-MCP-Servervorlage, die ich zuvor auf meinem Kanal bereitgestellt habe.

Related MCP server: Browser Automation MCP Server

Vision

Der Crawl4AI RAG MCP-Server ist erst der Anfang. Hier ist unser Ziel:

  1. Integration mit Archon : Durch direkte Integration dieses Systems in Archon wird eine umfassende Wissens-Engine für KI-Codierungsassistenten erstellt, mit der sich bessere KI-Agenten erstellen lassen.

  2. Mehrere Einbettungsmodelle : Erweiterung über OpenAI hinaus, um eine Vielzahl von Einbettungsmodellen zu unterstützen, einschließlich der Möglichkeit, alles lokal mit Ollama auszuführen, um vollständige Kontrolle und Datenschutz zu gewährleisten.

  3. Erweiterte RAG-Strategien : Implementierung anspruchsvoller Abruftechniken wie kontextbezogener Abfrage, Late Chunking und anderer, um über einfache „naive Nachschlagevorgänge“ hinauszugehen und die Leistungsfähigkeit und Präzision des RAG-Systems deutlich zu verbessern, insbesondere durch die Integration mit Archon.

  4. Verbesserte Chunking-Strategie : Implementierung eines von Context 7 inspirierten Chunking-Ansatzes, der sich auf Beispiele konzentriert und für jeden Chunk eindeutige, semantisch sinnvolle Abschnitte erstellt, wodurch die Abrufgenauigkeit verbessert wird.

  5. Leistungsoptimierung : Erhöhung der Crawling- und Indizierungsgeschwindigkeit, um das „schnelle“ Indizieren neuer Dokumentationen realistischer zu machen und sie dann innerhalb derselben Eingabeaufforderung in einem KI-Codierungsassistenten zu nutzen.

Merkmale

  • Intelligente URL-Erkennung : Erkennt und verarbeitet automatisch verschiedene URL-Typen (normale Webseiten, Sitemaps, Textdateien)

  • Rekursives Crawlen : Folgt internen Links, um Inhalte zu entdecken

  • Parallele Verarbeitung : Effizientes gleichzeitiges Crawlen mehrerer Seiten

  • Inhalts-Chunking : Intelligente Aufteilung des Inhalts nach Überschriften und Größe für eine bessere Verarbeitung

  • Vektorsuche : Führt RAG über gecrawlte Inhalte aus und filtert optional nach Datenquelle für mehr Präzision

  • Quellenabruf : Abrufen von Quellen, die zum Filtern verfügbar sind, um den RAG-Prozess zu steuern

Werkzeuge

Der Server bietet vier wichtige Web-Crawling- und Suchtools:

  1. crawl_single_page : Crawlt schnell eine einzelne Webseite und speichert ihren Inhalt in der Vektordatenbank

  2. smart_crawl_url : Intelligentes Crawlen einer vollständigen Website basierend auf dem Typ der bereitgestellten URL (Sitemap, llms-full.txt oder eine normale Webseite, die rekursiv gecrawlt werden muss).

  3. get_available_sources : Ruft eine Liste aller verfügbaren Quellen (Domänen) in der Datenbank ab

  4. perform_rag_query : Suche nach relevanten Inhalten mithilfe der semantischen Suche mit optionaler Quellenfilterung

Voraussetzungen

Installation

Docker verwenden (empfohlen)

  1. Klonen Sie dieses Repository:

    git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
  2. Erstellen Sie das Docker-Image:

    docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 .
  3. Erstellen Sie eine .env Datei basierend auf dem folgenden Konfigurationsabschnitt

UV direkt verwenden (kein Docker)

  1. Klonen Sie dieses Repository:

    git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
  2. Installieren Sie uv, falls Sie es nicht haben:

    pip install uv
  3. Erstellen und aktivieren Sie eine virtuelle Umgebung:

    uv venv .venv\Scripts\activate # on Mac/Linux: source .venv/bin/activate
  4. Installieren Sie Abhängigkeiten:

    uv pip install -e . crawl4ai-setup
  5. Erstellen Sie eine .env Datei basierend auf dem folgenden Konfigurationsabschnitt

Datenbank-Setup

Bevor Sie den Server ausführen, müssen Sie die Datenbank mit der Erweiterung pgvector einrichten:

  1. Gehen Sie zum SQL-Editor in Ihrem Supabase-Dashboard (erstellen Sie ggf. zuerst ein neues Projekt).

  2. Erstellen Sie eine neue Abfrage und fügen Sie den Inhalt von crawled_pages.sql ein

  3. Führen Sie die Abfrage aus, um die erforderlichen Tabellen und Funktionen zu erstellen

Konfiguration

Erstellen Sie im Projektstammverzeichnis eine .env Datei mit den folgenden Variablen:

# MCP Server Configuration HOST=0.0.0.0 PORT=8051 TRANSPORT=sse # OpenAI API Configuration OPENAI_API_KEY=your_openai_api_key # Supabase Configuration SUPABASE_URL=your_supabase_project_url SUPABASE_SERVICE_KEY=your_supabase_service_key

Ausführen des Servers

Verwenden von Docker

docker run --env-file .env -p 8051:8051 mcp/crawl4ai-rag

Verwenden von Python

uv run src/crawl4ai_mcp.py

Der Server wird gestartet und lauscht auf dem konfigurierten Host und Port.

Integration mit MCP-Clients

SSE-Konfiguration

Sobald der Server mit SSE-Transport läuft, können Sie mit dieser Konfiguration eine Verbindung zu ihm herstellen:

{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "url": "http://localhost:8051/sse" } } }

Hinweis für Windsurf-Benutzer : Verwenden Sie in Ihrer Konfiguration serverUrl “ anstelle von url :

{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "serverUrl": "http://localhost:8051/sse" } } }

Hinweis für Docker-Nutzer : Verwenden Sie host.docker.internal anstelle von localhost , wenn Ihr Client in einem anderen Container läuft. Dies gilt, wenn Sie diesen MCP-Server innerhalb von n8n verwenden!

Stdio-Konfiguration

Fügen Sie diesen Server zu Ihrer MCP-Konfiguration für Claude Desktop, Windsurf oder einen anderen MCP-Client hinzu:

{ "mcpServers": { "crawl4ai-rag": { "command": "python", "args": ["path/to/crawl4ai-mcp/src/crawl4ai_mcp.py"], "env": { "TRANSPORT": "stdio", "OPENAI_API_KEY": "your_openai_api_key", "SUPABASE_URL": "your_supabase_url", "SUPABASE_SERVICE_KEY": "your_supabase_service_key" } } } }

Docker mit Stdio-Konfiguration

{ "mcpServers": { "crawl4ai-rag": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "TRANSPORT", "-e", "OPENAI_API_KEY", "-e", "SUPABASE_URL", "-e", "SUPABASE_SERVICE_KEY", "mcp/crawl4ai"], "env": { "TRANSPORT": "stdio", "OPENAI_API_KEY": "your_openai_api_key", "SUPABASE_URL": "your_supabase_url", "SUPABASE_SERVICE_KEY": "your_supabase_service_key" } } } }

Erstellen Sie Ihren eigenen Server

Diese Implementierung bietet die Grundlage für den Aufbau komplexerer MCP-Server mit Web-Crawling-Funktionen. So erstellen Sie Ihren eigenen Server:

  1. Fügen Sie Ihre eigenen Tools hinzu, indem Sie Methoden mit dem Dekorator @mcp.tool() erstellen

  2. Erstellen Sie Ihre eigene Lebensdauerfunktion, um Ihre eigenen Abhängigkeiten hinzuzufügen

  3. Ändern Sie die Datei utils.py für alle benötigten Hilfsfunktionen

  4. Erweitern Sie die Crawling-Funktionen durch Hinzufügen spezialisierterer Crawler

-
security - not tested
A
license - permissive license
-
quality - not tested

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/coleam00/mcp-crawl4ai-rag'

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