mcpField
C
Crawl4AI RAG MCP Server

Crawl4AI RAG MCP Server

ローカル
github.com/Anshumaan031メモリ・ナレッジ871 週間前に更新

Crawl4AI RAG MCP Server について

Crawl4AI RAG MCP Serverは、AIエージェントやコーディングアシスタント向けに、Webサイトのクロール、Supabaseへの保存、RAG検索を提供します。再帰クロール、コンテンツ分割、ソース指定のセマンティック検索を組み合わせています。

主な機能

  1. 01Webページ、サイトマップ、テキストファイルの判別
  2. 02内部リンクの再帰クロール
  3. 03ページの並列処理
  4. 04見出しとサイズに基づく分割
  5. 05ソース指定対応のセマンティック検索
  6. 06保存済みソースの一覧表示

活用シーン

  1. 01単一ページを後で検索できるよう保存
  2. 02サイトマップからサイトをクロール
  3. 03ソースを指定して取得済み内容を検索
  4. 04エージェントのRAGにWebコンテンツを提供

MCP 対応

クロール、ソース一覧、RAGクエリのツールをMCPクライアントに公開します。SSEとstdioのトランスポートに対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"Crawl4AI-RAG-MCP-Server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Crawl4AI RAG MCP サーバー

AI エージェントと AI コーディングアシスタント向けのウェブクローリングおよび RAG 機能

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

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

概要

この MCP サーバーは、AI エージェントがウェブサイトをクロールし、コンテンツをベクトルデータベース(Supabase)に保存して、クロールしたコンテンツに対して RAG を実行できるツールを提供します。

機能

  • スマート 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. このリポジトリをクローンします:

    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 ファイルを作成します

Docker で Supabase をローカル実行する(任意)

Docker を使って Supabase をローカル実行するには、次の手順に従います。

  1. Supabase のコードを取得します:

    git clone --depth 1 https://github.com/supabase/supabase
    
  2. 新しい Supabase プロジェクトのディレクトリを作成します:

    mkdir supabase-project
    
  3. compose ファイルをプロジェクトにコピーします:

    cp -rf supabase/docker/* supabase-project
    
  4. サンプル環境変数をコピーします:

    cp supabase/docker/.env.example supabase-project/.env
    
  5. プロジェクトのディレクトリに移動します:

    cd supabase-project
    
  6. 最新のイメージを取得します:

    docker compose pull
    
  7. サービスを起動します(デタッチモード):

    docker compose up -d
    

Supabase をローカルで起動した後、このプロジェクトの .env ファイルで、ローカルの Supabase インスタンスを指す正しい SUPABASE_URL と SUPABASE_SERVICE_KEY を設定してください。通常、ローカル環境では次のようになります。

データベースのセットアップ

サーバーを実行する前に、pgvector 拡張機能を使用してデータベースをセットアップする必要があります。

  1. Supabase ダッシュボードの SQL Editor に移動します(必要に応じて、先に新しいプロジェクトを作成してください)

  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

#local supbase config
SUPABASE_URL=your_local_supbase_url
SUPABASE_SERVICE_KEY=yuut_local_supbase_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 サーバーを使用する場合も同様です。

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. 独自の依存関係を追加するための lifespan 関数を作成します
  3. 必要なヘルパー関数に合わせて utils.py ファイルを変更します
  4. より専門的なクローラーを追加して、クロール機能を拡張します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。