
Crawl4AI RAG MCP Server

2025.05.07
0
Python网页爬取RAGAI 代理AI 编码助手开发效率内容生成
Crawl4AI RAG MCP Server 是一个基于 Model Context Protocol (MCP) 的强大实现,集成了 Crawl4AI 和 Supabase,为 AI 代理和 AI 编码助手提供高级的网页爬取和 RAG(检索增强生成)能力。通过该服务器,用户可以爬取任何网页内容,并将这些知识用于 RAG 应用。
View on GitHub
Overview
基本能力
产品定位
Crawl4AI RAG MCP Server 旨在为 AI 代理和 AI 编码助手提供高效的网页爬取和内容检索能力,支持智能 URL 检测、递归爬取、并行处理、内容分块和向量搜索等功能。
核心功能
- 智能 URL 检测:自动识别和处理不同类型的 URL(常规网页、站点地图、文本文件)。
- 递归爬取:跟踪内部链接以发现更多内容。
- 并行处理:高效同时爬取多个页面。
- 内容分块:按标题和大小智能分割内容以便更好处理。
- 向量搜索:对爬取内容执行 RAG,可选按数据源过滤以提高精度。
- 源检索:获取可用于过滤的源列表以指导 RAG 过程。
适用场景
- AI 代理需要动态获取网页内容以增强其知识库。
- AI 编码助手需要从网页中提取信息以辅助代码生成或问题解答。
- 需要构建基于 RAG 的应用,如问答系统或内容推荐系统。
工具列表
crawl_single_page
:快速爬取单个网页并将其内容存储到向量数据库中。smart_crawl_url
:根据提供的 URL 类型(站点地图、llms-full.txt 或需要递归爬取的常规网页)智能爬取整个网站。get_available_sources
:获取数据库中所有可用源(域名)的列表。perform_rag_query
:使用语义搜索(可选源过滤)查找相关内容。
常见问题解答
- 如何配置 Supabase:需要在 Supabase 仪表板的 SQL 编辑器中运行
crawled_pages.sql
脚本来创建必要的表和函数。 - 如何配置 OpenAI API 密钥:在
.env
文件中设置OPENAI_API_KEY
变量。 - 如何解决 Docker 容器中的连接问题:如果客户端运行在不同的容器中,使用
host.docker.internal
代替localhost
。
使用教程
使用依赖
- Docker/Docker Desktop(推荐):用于容器化运行 MCP 服务器。
- Python 3.12+:如果直接通过 uv 运行 MCP 服务器。
- Supabase:用于 RAG 的数据库。
- OpenAI API 密钥:用于生成嵌入。
安装教程
使用 Docker(推荐)
- 克隆仓库:
bash git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
- 构建 Docker 镜像:
bash docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 .
- 创建
.env
文件并配置环境变量。
使用 uv 直接运行(无 Docker)
- 克隆仓库:
bash git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
- 安装 uv:
bash pip install uv
- 创建并激活虚拟环境:
bash uv venv .venv\Scripts\activate # 在 Mac/Linux 上:source .venv/bin/activate
- 安装依赖:
bash uv pip install -e . crawl4ai-setup
- 创建
.env
文件并配置环境变量。
调试方式
使用 Docker 运行服务器
docker run --env-file .env -p 8051:8051 mcp/crawl4ai-rag
使用 Python 运行服务器
uv run src/crawl4ai_mcp.py
服务器将在配置的主机和端口上启动并监听。