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.
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:
- Erstellen Sie das Docker-Image:
- Erstellen Sie eine
.env
Datei basierend auf dem folgenden Konfigurationsabschnitt
UV direkt verwenden (kein Docker)
- Klonen Sie dieses Repository:
- Installieren Sie uv, falls Sie es nicht haben:
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
- Installieren Sie Abhängigkeiten:
- 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:
- 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.sql
ein - 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:
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
:Hinweis für Docker-Nutzer : Verwenden Sie
host.docker.internal
anstelle 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()
erstellen - Erstellen Sie Ihre eigene Lebensdauerfunktion, um Ihre eigenen Abhängigkeiten hinzuzufügen
- Ändern Sie die Datei
utils.py
für alle benötigten Hilfsfunktionen - Erweitern Sie die Crawling-Funktionen durch Hinzufügen spezialisierterer Crawler
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Web-Crawling und RAG-Implementierung, die es KI-Agenten ermöglicht, Websites zu durchsuchen und eine semantische Suche über die gecrawlten Inhalte durchzuführen. Dabei wird alles in Supabase gespeichert, um dauerhaft Wissen abzurufen.
Related MCP Servers
- AsecurityAlicenseAqualityA server that provides web scraping and intelligent content searching capabilities using the Firecrawl API, enabling AI agents to extract structured data from websites and perform content searches.Last updated -52TypeScriptMIT License
- -securityAlicense-qualityEnables iterative deep research by integrating AI agents with search engines, web scraping, and large language models for efficient data gathering and comprehensive reporting.Last updated -28117TypeScriptMIT License
- -securityFlicense-qualityImplements Retrieval-Augmented Generation (RAG) using GroundX and OpenAI, allowing users to ingest documents and perform semantic searches with advanced context handling through Modern Context Processing (MCP).Last updated -1Python
- -securityFlicense-qualityEnables intelligent web scraping through a browser automation tool that can search Google, navigate to webpages, and extract content from various websites including GitHub, Stack Overflow, and documentation sites.Last updated -1Python