Una poderosa implementación del Protocolo de Contexto de Modelo (MCP) integrado con Crawl4AI y Supabase para proporcionar a los agentes de IA y asistentes de codificación de IA capacidades avanzadas de rastreo web y RAG.
Con este servidor MCP, puedes extraer cualquier cosa y luego usar ese conocimiento en cualquier lugar para RAG.
El objetivo principal es integrar este servidor MCP en Archon a medida que lo desarrollo para que sea un motor de conocimiento para que los asistentes de programación de IA creen agentes de IA. Esta primera versión del servidor MCP de Crawl4AI/RAG se mejorará considerablemente próximamente, especialmente para que sea más configurable y permita usar diferentes modelos de incrustación y ejecutar todo localmente con Ollama.
Descripción general
Este servidor MCP proporciona herramientas que permiten a los agentes de IA rastrear sitios web, almacenar contenido en una base de datos vectorial (Supabase) y ejecutar RAG sobre el contenido rastreado. Sigue las mejores prácticas para crear servidores MCP, basándose en la plantilla de servidor MCP Mem0 que compartí anteriormente en mi canal.
Visión
El servidor Crawl4AI RAG MCP es solo el comienzo. Aquí es donde nos dirigimos:
- Integración con Archon : incorporar este sistema directamente en Archon para crear un motor de conocimiento integral para que los asistentes de codificación de IA creen mejores agentes de IA.
- Múltiples modelos de integración : expansión más allá de OpenAI para admitir una variedad de modelos de integración, incluida la capacidad de ejecutar todo localmente con Ollama para un control y privacidad completos.
- Estrategias RAG avanzadas : implementación de técnicas de recuperación sofisticadas como recuperación contextual, fragmentación tardía y otras para ir más allá de las "búsquedas ingenuas" básicas y mejorar significativamente la potencia y la precisión del sistema RAG, especialmente a medida que se integra con Archon.
- Estrategia de fragmentación mejorada : implementación de un enfoque de fragmentación inspirado en Context 7 que se centra en ejemplos y crea secciones distintas y semánticamente significativas para cada fragmento, lo que mejora la precisión de la recuperación.
- Optimización del rendimiento : aumentar la velocidad de rastreo e indexación para que sea más realista indexar "rápidamente" nueva documentación para luego aprovecharla dentro del mismo mensaje en un asistente de codificación de IA.
Características
- Detección inteligente de URL : detecta y gestiona automáticamente distintos tipos de URL (páginas web normales, mapas de sitios, archivos de texto)
- Rastreo recursivo : sigue enlaces internos para descubrir contenido
- Procesamiento paralelo : rastrea eficientemente varias páginas simultáneamente
- Fragmentación de contenido : divide de forma inteligente el contenido por encabezados y tamaño para un mejor procesamiento
- Búsqueda vectorial : realiza RAG sobre el contenido rastreado y filtra opcionalmente por fuente de datos para mayor precisión
- Recuperación de fuentes : recupera fuentes disponibles para filtrar y guiar el proceso RAG
Herramientas
El servidor proporciona cuatro herramientas esenciales de búsqueda y rastreo web:
crawl_single_page
: Rastrea rápidamente una sola página web y almacena su contenido en la base de datos vectorialsmart_crawl_url
: rastrea de forma inteligente un sitio web completo según el tipo de URL proporcionada (mapa del sitio, llms-full.txt o una página web normal que necesita rastrearse de forma recursiva)get_available_sources
: obtiene una lista de todas las fuentes (dominios) disponibles en la base de datosperform_rag_query
: busca contenido relevante mediante búsqueda semántica con filtrado de fuente opcional
Prerrequisitos
- Docker/Docker Desktop si se ejecuta el servidor MCP como contenedor (recomendado)
- Python 3.12+ si se ejecuta el servidor MCP directamente a través de uv
- Supabase (base de datos para RAG)
- Clave API de OpenAI (para generar incrustaciones)
Instalación
Uso de Docker (recomendado)
- Clonar este repositorio:
- Construya la imagen de Docker:
- Cree un archivo
.env
basado en la sección de configuración a continuación
Usando uv directamente (sin Docker)
- Clonar este repositorio:
- Instalar uv si no lo tienes:
- Crear y activar un entorno virtual:
- Instalar dependencias:
- Cree un archivo
.env
basado en la sección de configuración a continuación
Configuración de la base de datos
Antes de ejecutar el servidor, debe configurar la base de datos con la extensión pgvector:
- Vaya al Editor SQL en su panel de Supabase (primero cree un nuevo proyecto si es necesario)
- Cree una nueva consulta y pegue el contenido de
crawled_pages.sql
- Ejecute la consulta para crear las tablas y funciones necesarias
Configuración
Cree un archivo .env
en la raíz del proyecto con las siguientes variables:
Ejecución del servidor
Usando Docker
Usando Python
El servidor se iniciará y escuchará en el host y puerto configurados.
Integración con clientes MCP
Configuración de SSE
Una vez que tenga el servidor funcionando con el transporte SSE, puede conectarse a él utilizando esta configuración:
Nota para los usuarios de Windsurf : utilice
serverUrl
en lugar deurl
en su configuración:Nota para usuarios de Docker : Usen
host.docker.internal
en lugar delocalhost
si su cliente se ejecuta en un contenedor diferente. Esto aplica si usan este servidor MCP dentro de n8n.
Configuración de Stdio
Agregue este servidor a su configuración de MCP para Claude Desktop, Windsurf o cualquier otro cliente de MCP:
Docker con configuración de Stdio
Construyendo su propio servidor
Esta implementación proporciona una base para construir servidores MCP más complejos con capacidades de rastreo web. Para construir el suyo propio:
- Agregue sus propias herramientas creando métodos con el decorador
@mcp.tool()
- Crea tu propia función de vida útil para agregar tus propias dependencias
- Modifique el archivo
utils.py
para cualquier función auxiliar que necesite - Amplíe las capacidades de rastreo agregando rastreadores más especializados
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.
Implementación de rastreo web y RAG que permite a los agentes de IA rastrear sitios web y realizar búsquedas semánticas sobre el contenido rastreado, almacenando todo en Supabase para la recuperación de conocimiento persistente.
Related MCP Servers
- -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 -4Python
- -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
- -securityAlicense-qualityA server that integrates Retrieval-Augmented Generation (RAG) with the Model Control Protocol (MCP) to provide web search capabilities and document analysis for AI assistants.Last updated -2PythonApache 2.0
- -securityAlicense-qualityProvides AI agents and coding assistants with advanced web crawling and RAG capabilities, allowing them to scrape websites and leverage that knowledge through various retrieval strategies.Last updated -1MIT License