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:
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.
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.
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.
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.
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:
crawl_single_page: Crawlt schnell eine einzelne Webseite und speichert ihren Inhalt in der Vektordatenbanksmart_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).get_available_sources: Ruft eine Liste aller verfügbaren Quellen (Domänen) in der Datenbank abperform_rag_query: Suche nach relevanten Inhalten mithilfe der semantischen Suche mit optionaler Quellenfilterung
Voraussetzungen
Docker/Docker Desktop , wenn der MCP-Server als Container ausgeführt wird (empfohlen)
Python 3.12+, wenn der MCP-Server direkt über UV ausgeführt wird
Supabase (Datenbank für RAG)
OpenAI-API-Schlüssel (zum Generieren von Einbettungen)
Installation
Docker verwenden (empfohlen)
Klonen Sie dieses Repository:
git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-ragErstellen Sie das Docker-Image:
docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 .Erstellen Sie eine
.envDatei basierend auf dem folgenden Konfigurationsabschnitt
UV direkt verwenden (kein Docker)
Klonen Sie dieses Repository:
git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-ragInstallieren Sie uv, falls Sie es nicht haben:
pip install uvErstellen und aktivieren Sie eine virtuelle Umgebung:
uv venv .venv\Scripts\activate # on Mac/Linux: source .venv/bin/activateInstallieren Sie Abhängigkeiten:
uv pip install -e . crawl4ai-setupErstellen Sie eine
.envDatei basierend auf dem folgenden Konfigurationsabschnitt
Datenbank-Setup
Bevor Sie den Server ausführen, müssen Sie die Datenbank mit der Erweiterung pgvector einrichten:
Gehen Sie zum SQL-Editor in Ihrem Supabase-Dashboard (erstellen Sie ggf. zuerst ein neues Projekt).
Erstellen Sie eine neue Abfrage und fügen Sie den Inhalt von
crawled_pages.sqleinFü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:
Ausführen des Servers
Verwenden von Docker
Verwenden von Python
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:
Hinweis für Windsurf-Benutzer : Verwenden Sie in Ihrer Konfiguration
serverUrl“ anstelle vonurl:{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "serverUrl": "http://localhost:8051/sse" } } }Hinweis für Docker-Nutzer : Verwenden Sie
host.docker.internalanstelle vonlocalhost, 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:
Docker mit Stdio-Konfiguration
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:
Fügen Sie Ihre eigenen Tools hinzu, indem Sie Methoden mit dem Dekorator
@mcp.tool()erstellenErstellen Sie Ihre eigene Lebensdauerfunktion, um Ihre eigenen Abhängigkeiten hinzuzufügen
Ändern Sie die Datei
utils.pyfür alle benötigten HilfsfunktionenErweitern Sie die Crawling-Funktionen durch Hinzufügen spezialisierterer Crawler