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

Crawl4AISupabase 와 통합된 모델 컨텍스트 프로토콜(MCP) 의 강력한 구현으로, AI 에이전트와 AI 코딩 어시스턴트에 고급 웹 크롤링 및 RAG 기능을 제공합니다.

이 MCP 서버를 사용하면 무엇이든 스크래핑하고 그 지식을 RAG에 어디서나 활용할 수 있습니다.

이 MCP 서버를 Archon 에 통합하여 AI 코딩 어시스턴트가 AI 에이전트를 구축할 수 있도록 지식 엔진으로 발전시키는 것이 주요 목표입니다. Crawl4AI/RAG MCP 서버의 첫 번째 버전은 곧 크게 개선될 예정이며, 특히 다양한 임베딩 모델을 사용하고 Ollama를 통해 모든 것을 로컬에서 실행할 수 있도록 구성 가능성이 더욱 향상될 예정입니다.

개요

이 MCP 서버는 AI 에이전트가 웹사이트를 크롤링하고, 벡터 데이터베이스(Supabase)에 콘텐츠를 저장하고, 크롤링된 콘텐츠에 대해 RAG(Reactive Aggregation)를 수행할 수 있도록 하는 도구를 제공합니다. 이 서버는 제가 이전에 채널에서 제공했던 Mem0 MCP 서버 템플릿을 기반으로 MCP 서버를 구축하는 모범 사례를 따릅니다.

비전

Crawl4AI RAG MCP 서버는 시작일 뿐입니다. 앞으로의 방향은 다음과 같습니다.

  1. Archon과의 통합 : 이 시스템을 Archon 에 직접 구축하여 AI 코딩 어시스턴트가 더 나은 AI 에이전트를 구축할 수 있는 포괄적인 지식 엔진을 생성합니다.
  2. 다양한 임베딩 모델 : OpenAI를 넘어 다양한 임베딩 모델을 지원하며, Ollama를 통해 모든 것을 로컬로 실행하여 완벽한 제어와 개인 정보 보호를 구현합니다.
  3. 고급 RAG 전략 : 문맥적 검색, 늦은 청킹 등과 같은 정교한 검색 기술을 구현하여 기본적인 "단순 검색"을 넘어 RAG 시스템의 성능과 정확도를 크게 향상시킵니다. 특히 Archon과 통합할 때 더욱 그렇습니다.
  4. 강화된 청킹 전략 : 예시에 초점을 맞추고 각 청크에 대해 명확하고 의미적으로 의미 있는 섹션을 만드는 Context 7에서 영감을 받은 청킹 접근 방식을 구현하여 검색 정확도를 높입니다.
  5. 성능 최적화 : 크롤링 및 인덱싱 속도를 높여 AI 코딩 어시스턴트에서 동일한 프롬프트 내에서 새로운 문서를 "빠르게" 인덱싱하고 활용하는 것을 더욱 현실적으로 만들었습니다.

특징

  • 스마트 URL 감지 : 다양한 URL 유형(일반 웹 페이지, 사이트맵, 텍스트 파일)을 자동으로 감지하고 처리합니다.
  • 재귀적 크롤링 : 내부 링크를 따라 콘텐츠를 검색합니다.
  • 병렬 처리 : 여러 페이지를 동시에 효율적으로 크롤링합니다.
  • 콘텐츠 청킹 : 더 나은 처리를 위해 헤더와 크기에 따라 콘텐츠를 지능적으로 분할합니다.
  • 벡터 검색 : 크롤링된 콘텐츠에 대한 RAG를 수행하고, 정확도를 위해 데이터 소스별로 필터링을 선택적으로 수행합니다.
  • 소스 검색 : RAG 프로세스를 안내하기 위해 필터링에 사용할 수 있는 소스를 검색합니다.

도구

이 서버는 4가지 필수 웹 크롤링 및 검색 도구를 제공합니다.

  1. crawl_single_page : 단일 웹 페이지를 빠르게 크롤링하고 해당 콘텐츠를 벡터 데이터베이스에 저장합니다.
  2. smart_crawl_url : 제공된 URL 유형(사이트맵, llms-full.txt 또는 재귀적으로 크롤링해야 하는 일반 웹페이지)에 따라 전체 웹사이트를 지능적으로 크롤링합니다.
  3. get_available_sources : 데이터베이스에서 사용 가능한 모든 소스(도메인) 목록을 가져옵니다.
  4. perform_rag_query : 선택적 소스 필터링을 사용하여 의미 검색을 사용하여 관련 콘텐츠를 검색합니다.

필수 조건

설치

Docker 사용(권장)

  1. 이 저장소를 복제하세요:지엑스피1
  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. Supabase 대시보드에서 SQL 편집기로 이동합니다(필요한 경우 먼저 새 프로젝트를 만듭니다)
  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 사용하기

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

파이썬 사용하기

uv run src/crawl4ai_mcp.py

서버가 시작되고 구성된 호스트와 포트에서 수신 대기합니다.

MCP 클라이언트와의 통합

SSE 구성

SSE 전송으로 서버를 실행하면 다음 구성을 사용하여 서버에 연결할 수 있습니다.

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

Windsurf 사용자를 위한 참고 사항 : 구성에서 url 대신 serverUrl 사용하세요.

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

Docker 사용자 참고 사항 : 클라이언트가 다른 컨테이너에서 실행 중인 경우 localhost 대신 host.docker.internal 사용하세요. 이는 n8n 내에서 이 MCP 서버를 사용하는 경우에도 적용됩니다!

Stdio 구성

Claude Desktop, Windsurf 또는 기타 MCP 클라이언트에 대한 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" } } } }

Stdio 구성을 사용한 Docker

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

AI 에이전트가 웹사이트를 스크래핑하고 크롤링된 콘텐츠에 대한 의미 검색을 수행하며 모든 것을 Supabase에 저장하여 지속적인 지식 검색을 수행할 수 있는 웹 크롤링 및 RAG 구현입니다.

  1. 비전
    1. 특징
      1. 도구
        1. 필수 조건
          1. 설치
            1. Docker 사용(권장)
            2. uv를 직접 사용하기(Docker 없음)
          2. 데이터베이스 설정
            1. 구성
              1. 서버 실행
                1. Docker 사용하기
                2. 파이썬 사용하기
              2. MCP 클라이언트와의 통합
                1. SSE 구성
                2. Stdio 구성
                3. Stdio 구성을 사용한 Docker
              3. 나만의 서버 구축

                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