Crawl4AI RAG MCP Server
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:
# 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_keyAusführen des Servers
Verwenden von Docker
docker run --env-file .env -p 8051:8051 mcp/crawl4ai-ragVerwenden von Python
uv run src/crawl4ai_mcp.pyDer 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 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:
{
"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:
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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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