使用说明
Crawl4AI RAG MCP Server
Web Crawling and RAG Capabilities for AI Agents and AI Coding Assistants
强有力的实施 模型上下文协议(MCP) 与...集成 Crawl4AI 和 Supabase 为人工智能代理和人工智能编码助手提供先进的网络爬行和RAG功能。
使用此MCP服务器,您可以 刮任何东西 然后 在任何地方使用这些知识 对于RAG来说。
概述
此MCP服务器提供的工具使AI代理能够抓取网站,将内容存储在矢量数据库(Supabase)中,并对抓取的内容执行RAG。
特性
- 智能URL检测:自动检测和处理不同的URL类型(常规网页、网站地图、文本文件)
- 递归爬行:跟踪内部链接以发现内容
- 并行处理:高效地同时抓取多个页面
- 内容分块:按标题和大小智能拆分内容,以实现更好的处理
- 矢量搜索:对已爬网内容执行RAG,可选择按数据源进行过滤以提高精度
- 源检索:检索可用于过滤的源,以指导RAG过程
工具
该服务器提供四种基本的网络爬行和搜索工具:
crawl_single_page:快速抓取单个网页并将其内容存储在矢量数据库中smart_crawl_url:根据提供的URL类型智能抓取完整网站(sitemap、llms-full.txt或需要递归抓取的常规网页)get_available_sources:获取数据库中所有可用源(域)的列表perform_rag_query:使用语义搜索和可选的源过滤搜索相关内容
先决条件
- Docker/Docker桌面 如果将MCP服务器作为容器运行(推荐)
- Python 3.12+ 如果直接通过uv运行MCP服务器
- Supabase (RAG数据库)
- OpenAI API密钥 (用于生成嵌入)
安装
使用Docker(推荐)
-
克隆此存储库:
git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag -
构建Docker镜像:
docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 . -
创建一个
.env基于以下配置部分的文件
直接使用uv(无Docker)
-
克隆此存储库:
git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag -
如果没有,请安装uv:
pip install uv -
创建并激活虚拟环境:
uv venv .venv\Scripts\activate # on Mac/Linux: source .venv/bin/activate -
安装依赖项:
uv pip install -e . crawl4ai-setup -
创建一个
.env基于以下配置部分的文件
使用Docker在本地运行Supabase(可选)
要使用Docker在本地运行Supabase,请执行以下步骤:
-
获取Supabase代码:
git clone --depth 1 https://github.com/supabase/supabase -
创建新的Supabase项目目录:
mkdir supabase-project -
将合成文件复制到项目中:
cp -rf supabase/docker/* supabase-project -
复制伪造的环境变量:
cp supabase/docker/.env.example supabase-project/.env -
切换到项目目录:
cd supabase-project -
提取最新图像:
docker compose pull -
启动服务(在分离模式下):
docker compose up -d
在本地启动Supabase后,请确保配置 .env 此项目中的文件包含正确的 SUPABASE_URL 和 SUPABASE_SERVICE_KEY 指向您本地的Supabase实例。通常,对于本地设置,这些将是:
数据库设置
在运行服务器之前,您需要使用pgvector扩展名设置数据库:
-
转到Supabase仪表板中的SQL编辑器(如有必要,请先创建一个新项目)
-
创建新查询并粘贴以下内容
crawled_pages.sql -
运行查询以创建必要的表和函数
配置
创建一个 .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用户须知:使用
serverUrl而不是url在您的配置中:{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "serverUrl": "http://localhost:8051/sse" } } }Docker用户须知:使用
host.docker.internal而不是localhost如果您的客户端运行在不同的容器中。如果您在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服务器提供了基础。建立自己的:
- 通过使用创建方法来添加自己的工具
@mcp.tool()装饰器 - 创建自己的生命周期函数以添加自己的依赖项
- 修改
utils.py您需要的任何辅助函数的文件 - 通过添加更专业的爬虫来扩展爬行功能
