Crawl4AI RAG MCP Server

by coleam00
MIT License
115
  • Linux
  • Apple

Integrations

  • Allows running the MCP server as a container, with configuration options for both SSE and stdio transports

  • Supports integration with n8n, with special network configuration instructions for Docker environments

  • Planned future integration to enable running embedding models locally for complete privacy and control

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:

  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

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.

  1. Vision
    1. Merkmale
      1. Werkzeuge
        1. Voraussetzungen
          1. Installation
            1. Docker verwenden (empfohlen)
            2. UV direkt verwenden (kein Docker)
          2. Datenbank-Setup
            1. Konfiguration
              1. Ausführen des Servers
                1. Verwenden von Docker
                2. Verwenden von Python
              2. Integration mit MCP-Clients
                1. SSE-Konfiguration
                2. Stdio-Konfiguration
                3. Docker mit Stdio-Konfiguration
              3. Erstellen Sie Ihren eigenen Server

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  This server enables AI systems to integrate with Tavily's search and data extraction tools, providing real-time web information access and domain-specific searches.
                  Last updated -
                  2
                  5,133
                  334
                  JavaScript
                  MIT License
                  • Apple
                  • Linux
                • A
                  security
                  A
                  license
                  A
                  quality
                  A 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 -
                  5
                  2
                  TypeScript
                  MIT License
                  • Apple
                  • Linux
                • -
                  security
                  A
                  license
                  -
                  quality
                  Empowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.
                  Last updated -
                  1
                  Python
                  Apache 2.0
                  • Apple
                • -
                  security
                  -
                  license
                  -
                  quality
                  Integrates with Dumpling AI to provide data scraping, content processing, knowledge management, and code execution capabilities through tools for web interactions, document handling, and AI services.
                  Last updated -
                  2
                  JavaScript
                  MIT License

                View all related MCP servers

                ID: 0tzydxm4hi