Skip to main content
Glama
coleam00

Crawl4AI RAG MCP Server

by coleam00

Crawl4AIおよびSupabaseと統合されたModel Context Protocol (MCP)の強力な実装により、AI エージェントと AI コーディング アシスタントに高度な Web クロールと RAG 機能を提供します。

この MCP サーバーを使用すると、あらゆるものをスクレイピングし、その知識を RAG のどこでも使用できます。

主な目標は、このMCPサーバーをArchonに統合し、AIコーディングアシスタントがAIエージェントを構築するための知識エンジンとして進化させることです。Crawl4AI/RAG MCPサーバーの最初のバージョンは、近日中に大幅に改良される予定です。特に、より柔軟に設定できるようにすることで、異なる埋め込みモデルの使用や、Ollamaを使ったローカルでの実行が可能になります。

概要

このMCPサーバーは、AIエージェントがウェブサイトをクロールし、コンテンツをベクターデータベース(Supabase)に保存し、クロールしたコンテンツに対してRAGを実行できるようにするツールを提供します。このサーバーは、私が以前チャンネルで提供したMem0 MCPサーバーテンプレートに基づいて、MCPサーバー構築のベストプラクティスに従っています。

Related MCP server: Browser Automation MCP Server

ビジョン

Crawl4AI RAG MCPサーバーはまだ始まりに過ぎません。今後の展望は以下の通りです。

  1. Archon との統合: このシステムを直接Archonに組み込むことで、AI コーディング アシスタントが優れた AI エージェントを構築するための包括的な知識エンジンが作成されます。

  2. 複数の埋め込みモデル: OpenAI を超えて拡張し、完全な制御とプライバシーのために Ollama を使用してすべてをローカルで実行する機能を含む、さまざまな埋め込みモデルをサポートします。

  3. 高度な RAG 戦略: コンテキスト検索、遅延チャンキングなどの高度な検索手法を実装して、基本的な「単純な検索」を超え、特に Archon と統合することで RAG システムのパワーと精度を大幅に強化します。

  4. 強化されたチャンク化戦略: 例に重点を置き、各チャンクに明確で意味的に意味のあるセクションを作成する、Context 7 にヒントを得たチャンク化アプローチを実装して、検索精度を向上させます。

  5. パフォーマンスの最適化: クロールとインデックス作成の速度を向上し、新しいドキュメントを「すばやく」インデックスして、AI コーディング アシスタントの同じプロンプト内で活用することがより現実的になります。

特徴

  • スマート URL 検出: さまざまな URL タイプ (通常の Web ページ、サイトマップ、テキスト ファイル) を自動的に検出して処理します。

  • 再帰クロール: 内部リンクをたどってコンテンツを発見する

  • 並列処理:複数のページを同時に効率的にクロールします

  • コンテンツチャンク: コンテンツをヘッダーとサイズでインテリジェントに分割し、処理効率を向上します。

  • ベクトル検索: クロールされたコンテンツに対して RAG を実行し、オプションでデータソースによるフィルタリングを行って精度を高めます。

  • ソースの取得: RAG プロセスをガイドするためにフィルタリングに使用できるソースを取得します。

ツール

サーバーは、次の 4 つの重要な Web クロールおよび検索ツールを提供します。

  1. crawl_single_page : 単一のウェブページを素早くクロールし、そのコンテンツをベクターデータベースに保存します。

  2. smart_crawl_url : 提供された URL の種類 (サイトマップ、llms-full.txt、または再帰的にクロールする必要がある通常の Web ページ) に基づいて、Web サイト全体をインテリジェントにクロールします。

  3. get_available_sources : データベース内のすべての利用可能なソース(ドメイン)のリストを取得します。

  4. perform_rag_query : オプションのソースフィルタリングを使用したセマンティック検索を使用して関連コンテンツを検索します

前提条件

インストール

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. 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

Pythonの使用

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サーバーを使用している場合に適用されます。

標準入出力設定

このサーバーを、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" } } } }

独自のサーバーを構築する

この実装は、Webクロール機能を備えたより複雑な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