Skip to main content
Glama
coleam00

Crawl4AI RAG MCP Server

by coleam00

Мощная реализация протокола контекста модели (MCP), интегрированная с Crawl4AI и Supabase для предоставления агентам ИИ и помощникам по кодированию расширенными возможностями веб-сканирования и RAG.

С помощью этого MCP-сервера вы можете извлечь данные из чего угодно, а затем использовать эти знания где угодно для RAG.

Основная цель — перенести этот сервер MCP в Archon , поскольку я развиваю его, чтобы он стал скорее движком знаний для помощников по кодированию ИИ для создания агентов ИИ. Эта первая версия сервера Crawl4AI/RAG MCP будет значительно улучшена в ближайшее время, особенно в плане ее настройки, чтобы вы могли использовать различные модели встраивания и запускать все локально с помощью Ollama.

Обзор

Этот сервер MCP предоставляет инструменты, которые позволяют агентам ИИ сканировать веб-сайты, хранить контент в векторной базе данных (Supabase) и выполнять RAG над просканированным контентом. Он следует лучшим практикам создания серверов MCP на основе шаблона сервера Mem0 MCP, который я ранее предоставил на своем канале.

Related MCP server: Browser Automation MCP Server

Зрение

Сервер Crawl4AI RAG MCP — это только начало. Вот куда мы направляемся:

  1. Интеграция с Archon : встраивание этой системы непосредственно в Archon для создания комплексного механизма знаний для помощников по кодированию ИИ с целью создания более эффективных агентов ИИ.

  2. Множественные модели встраивания : выход за рамки OpenAI для поддержки различных моделей встраивания, включая возможность локального запуска всего с помощью Ollama для полного контроля и конфиденциальности.

  3. Расширенные стратегии RAG : внедрение сложных методов поиска, таких как контекстный поиск, позднее фрагментирование и другие, чтобы выйти за рамки базовых «наивных поисков» и значительно повысить мощность и точность системы RAG, особенно при ее интеграции с Archon.

  4. Улучшенная стратегия фрагментации : реализация подхода к фрагментации, вдохновленного Context 7, который фокусируется на примерах и создает отдельные, семантически значимые разделы для каждого фрагмента, повышая точность поиска.

  5. Оптимизация производительности : увеличение скорости сканирования и индексирования, что делает более реалистичной «быструю» индексацию новой документации, а затем ее использование в том же запросе в помощнике по кодированию на основе ИИ.

Функции

  • Интеллектуальное определение URL-адресов : автоматически обнаруживает и обрабатывает различные типы URL-адресов (обычные веб-страницы, карты сайтов, текстовые файлы)

  • Рекурсивное сканирование : прохождение внутренних ссылок для обнаружения контента.

  • Параллельная обработка : эффективно сканирует несколько страниц одновременно.

  • Разделение контента на части : интеллектуальное разделение контента по заголовкам и размеру для лучшей обработки.

  • Векторный поиск : выполняет RAG по просканированному контенту, опционально фильтруя по источнику данных для точности.

  • Извлечение источника : извлечение источников, доступных для фильтрации, для руководства процессом RAG.

Инструменты

Сервер предоставляет четыре основных инструмента веб-сканирования и поиска:

  1. crawl_single_page : быстрое сканирование одной веб-страницы и сохранение ее содержимого в векторной базе данных

  2. smart_crawl_url : интеллектуальное сканирование всего веб-сайта на основе предоставленного типа URL-адреса (карта сайта, llms-full.txt или обычная веб-страница, которую необходимо сканировать рекурсивно)

  3. get_available_sources : Получить список всех доступных источников (доменов) в базе данных

  4. perform_rag_query : Поиск релевантного контента с использованием семантического поиска с дополнительной фильтрацией источника

Предпосылки

  • Docker/Docker Desktop , если сервер MCP запущен как контейнер (рекомендуется)

  • Python 3.12+, если сервер MCP запущен напрямую через uv

  • Supabase (база данных для RAG)

  • Ключ API OpenAI (для генерации вложений)

Установка

Использование Docker (рекомендуется)

  1. Клонируйте этот репозиторий:

    git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
  2. Создайте образ Docker:

    docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 .
  3. Создайте файл .env на основе раздела конфигурации ниже.

Использование uv напрямую (без Docker)

  1. Клонируйте этот репозиторий:

    git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
  2. Установите uv, если у вас его нет:

    pip install uv
  3. Создайте и активируйте виртуальную среду:

    uv venv .venv\Scripts\activate # on Mac/Linux: source .venv/bin/activate
  4. Установить зависимости:

    uv pip install -e . crawl4ai-setup
  5. Создайте файл .env на основе раздела конфигурации ниже.

Настройка базы данных

Перед запуском сервера необходимо настроить базу данных с расширением pgvector:

  1. Перейдите в редактор SQL на панели управления Supabase (при необходимости сначала создайте новый проект).

  2. Создайте новый запрос и вставьте содержимое crawled_pages.sql

  3. Выполнить запрос для создания необходимых таблиц и функций.

Конфигурация

Создайте файл .env в корне проекта со следующими переменными:

# 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

Запуск сервера

Использование Докера

docker run --env-file .env -p 8051:8051 mcp/crawl4ai-rag

Использование Python

uv run src/crawl4ai_mcp.py

Сервер запустится и будет прослушивать настроенный хост и порт.

Интеграция с клиентами MCP

Конфигурация SSE

После того, как сервер будет запущен с транспортом SSE, вы сможете подключиться к нему, используя следующую конфигурацию:

{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "url": "http://localhost:8051/sse" } } }

Примечание для пользователей Windsurf : используйте serverUrl вместо url в вашей конфигурации:

{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "serverUrl": "http://localhost:8051/sse" } } }

Примечание для пользователей Docker : используйте host.docker.internal вместо localhost , если ваш клиент работает в другом контейнере. Это будет применяться, если вы используете этот сервер MCP в n8n!

Конфигурация Stdio

Добавьте этот сервер в конфигурацию MCP для Claude Desktop, Windsurf или любого другого клиента MCP:

{ "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 с конфигурацией Stdio

{ "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" } } } }

Создание собственного сервера

Эта реализация обеспечивает основу для создания более сложных серверов MCP с возможностями веб-сканирования. Чтобы создать свой собственный:

  1. Добавьте свои собственные инструменты, создав методы с помощью декоратора @mcp.tool()

  2. Создайте собственную функцию жизненного цикла, чтобы добавить собственные зависимости

  3. Измените файл utils.py для любых необходимых вам вспомогательных функций.

  4. Расширьте возможности сканирования, добавив больше специализированных сканеров.

-
security - not tested
A
license - permissive license
-
quality - not tested

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