mcp-crawl4ai-rag
让 AI Agent 自主爬取网页、构建知识库,5 种 RAG 策略 + 知识图谱幻觉检测
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI Agent 自主爬取网页、构建知识库,5 种 RAG 策略 + 知识图谱幻觉检测
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
mcp-crawl4ai-rag 正在把这件事变成现实。这是一款基于 Model Context Protocol(MCP) 协议构建的 MCP Server,由开发者 coleam00 打造,集成 Crawl4AI(新一代 AI 友好网页爬虫)和 Supabase(向量数据库),让 AI Agent 能够自主爬取网页内容、存入 RAG 系统,随时调用最新知识来回答问题或生成代码。截至 2026 年初,该项目已斩获 2186 stars 和 574 forks,MIT 许可证开源,是 AI Coding Assistant 生态中增长最快的 MCP 工具之一。## 项目背景:为什么 AI Agent 需要自己的「浏览器」?大语言模型(LLM)的知识有截止日期,这是 AI 应用落地的核心痛点之一。当 AI 编程助手需要回答「某个库的最新版本有什么 breaking change」或者「某份 API 文档里的示例代码怎么用」时,模型自身无法给出准确答案。传统的解决方案是在 prompt 里粘贴大量文档——但这受限于上下文窗口长度,维护成本也极高。另一种方案是让 AI 调用外部搜索 API,但大多数搜索工具返回的是网页标题和摘要,AI 仍然需要自己「读网页」才能提取有用信息。Crawl4AI 的出现改变了这一切。 与传统爬虫不同,Crawl4AI 是专为 AI 设计的新一代网页爬虫,能够智能识别页面中的主体内容、代码块、标题结构,并过滤广告和噪声元素,输出干净的 Markdown 或 JSON。它让 AI Agent 可以像人一样「打开浏览器、阅读网页、理解内容」。开发者 coleam00 在 README 中明确表达了他的愿景:这套 MCP Server 是他为 Archon(一个面向 AI 编程助手知识引擎)开发的核心模块,未来将深度集成到 Archon V2 中,成为 AI Agent 自我进化的基础设施。GitHub 仓库作为「测试床」,各项功能正在快速迭代。## 核心功能:从爬取到检索的完整 RAG 流水线### 工具集设计(Tools)项目提供了 9 个 MCP 工具,分为三类:核心工具(始终可用):- crawl_single_page:快速爬取单个网页并存入向量数据库- smart_crawl_url:智能识别 URL 类型(sitemap、llms-full.txt 或普通网页),自动选择爬取策略,支持递归爬取整站- get_available_sources:查询数据库中已索引的来源域名列表- perform_rag_query:语义搜索,传入问题返回相关文档片段,支持按来源过滤可选工具(启用 Agentic RAG 时):- search_code_examples:专门搜索爬取文档中的代码示例及其摘要,面向 AI 编程助手的高精度代码检索知识图谱工具(启用 Neo4j 时):- parse_github_repository:将 GitHub 仓库克隆并解析为 Neo4j 知识图谱,提取类、方法、函数、导入关系- check_ai_script_hallucinations:验证 AI 生成的 Python 脚本,检查其中调用的类/方法/属性是否真实存在于知识图谱中,精准检测 AI 幻觉- query_knowledge_graph:交互式查询知识图谱,支持 repos、classes、methods 等快捷命令和原生 Cypher 查询### 五种 RAG 策略:按需开启的智能检索增强项目支持 5 种可独立配置的 RAG 策略,这是它区别于大多数简单 RAG 工具的核心亮点:1. Contextual Embeddings(上下文嵌入):为每个文本块生成「块级嵌入 + 文档级上下文嵌入」,让检索时 AI 能区分同一术语在不同章节中的不同含义。适合技术文档类内容,精度提升显著,但需要额外的 LLM API 调用。2. Hybrid Search(混合搜索):将向量相似度搜索与 BM25 关键词搜索并行执行,智能合并结果。解决了纯向量检索在搜索精确函数名/类名时表现不佳的问题。零额外 API 成本,略有计算开销。3. Agentic RAG(智能体 RAG):专门提取代码块(≥300 字符),附加代码摘要,存入独立向量表。配合 search_code_examples 工具,让 AI 编程助手可以精确找到「这个库怎么用的」代码示例。代价是爬取速度变慢,需要更多存储空间。4. Reranking(重排序):使用 cross-encoder/ms-marco-MiniLM-L-6-v2 轻量级交叉编码器对初检结果二次打分重排,提升排序质量。CPU 即可运行,无额外 API 成本,延迟增加约 100-200ms。5. Knowledge Graph(知识图谱):基于 Neo4j 构建代码结构知识图谱,通过 AST 解析代码仓库(支持类、方法、函数、属性、导入关系建模)。最激动人心的应用是 AI 幻觉检测:让 AI 生成的代码「对照」真实代码仓库,识别不存在的 API 调用或错误参数——这是目前 AI 编程助手领域公认的核心痛点之一。### 数据库架构:Supabase + pgvector向量存储选型 Supabase + pgvector 是非常聪明的工程决策:Supabase 提供免费层、开箱即用的 SQL 界面,开发者可以直接用 SQL 查询向量相似度,无需额外部署 Milvus/Qdrant 等专用向量数据库。crawled_pages.sql 文件中定义了建表语句和存储过程,配置清晰。## 技术架构:MCP 协议下的模块化设计项目采用典型的 MCP Server 架构:基于 mcp Python 库(v1.7.1)和 FastMCP 框架构建,核心文件仅两个 Python 源文件,代码量精简:- src/crawl4ai_mcp.py(主服务):定义所有 MCP 工具,配置 lifespan 管理生命周期,处理爬取逻辑和 RAG 查询路由。传输层支持 SSE(Server-Sent Events) 和 stdio 两种模式——SSE 适合 Docker 部署的远程服务,stdio 则直接对接 Claude Desktop、Windsurf 等本地 MCP 客户端。- src/utils.py(工具函数):封装 Supabase 客户端、向量嵌入生成(OpenAI text-embedding-3-small)、文档切片、代码块提取、代码摘要生成、检索等核心业务逻辑。- knowledge_graphs/(知识图谱模块):包含 6 个独立 Python 模块,实现 GitHub 仓库解析(AST 分析)、Neo4j 图谱写入、AI 脚本幻觉检测、报告生成等功能。该模块目前尚未完全 Docker 化,是后续改进方向之一。依赖栈(核心):crawl4ai==0.6.2、mcp==1.7.1、supabase==2.15.1、openai==1.71.0、sentence-transformers>=4.1.0、neo4j>=5.28.1,覆盖爬虫、协议、向量存储、嵌入模型、图数据库全链路。## 部署体验:Docker 一键启动,但配置有门槛Dockerfile 质量不错,基于 python:3.12-slim,使用 uv 包管理器安装依赖,镜像体积控制合理。官方推荐 Docker 方式运行,命令仅需一行 docker run --env-file .env -p 8051:8051 mcp/crawl4ai-rag。不过「完整可跑」的门槛并不低:需要自备 Supabase 项目(建表 + pgvector 扩展)、OpenAI API Key(用于 embedding 和 LLM 摘要生成)、可选的 Neo4j(知识图谱功能)。.env.example 覆盖了所有配置项,文档也有详细的分步说明,但整个环境搭下来可能需要 30 分钟到 1 小时。对于已有 Supabase + OpenAI 使用经验的用户来说,这个项目上手体验较好;对于新手,则需要额外时间理解 Supabase 建表、pgvector 扩展启用等概念。## 亮点与局限亮点:- MCP 协议生态对齐:可无缝接入 Claude Desktop、Windsurf、Code Claude、Cursor 等主流 AI 编程工具,即装即用- RAG 策略组合灵活:5 种策略按需开关,从「快速基础 RAG」到「知识图谱幻觉检测」都有覆盖,组合空间大- 代码专用检索(Agentic RAG)解决了 AI 编程助手最痛的「找到正确代码示例」问题- 知识图谱幻觉检测方向极具创新性,是目前少有的 AI 编码安全网方案- MIT 许可证,开源透明,代码结构清晰易扩展局限:- 知识图谱模块不完全支持 Docker:作者明确表示 USE_KNOWLEDGE_GRAPH=true 时需通过 uv 直接运行,不支持容器化,这是当前最大限制- 强依赖 OpenAI:嵌入模型硬编码为 text-embedding-3-small,本地模型(如 Ollama)的支持还在路线图上- Neo4j 运维成本:知识图谱幻觉检测功能依赖 Neo4j,虽然有 local-ai-packaged 一键包,但对于没有图数据库经验的团队仍有学习曲线- 中文文档缺失:目前文档全英文,对中文开发者社区不够友好## 行业意义:AI Agent 的「自我学习」基础设施mcp-crawl4ai-rag 的出现代表了一个重要趋势:AI Agent 正在从「被动等待训练数据」向「主动从网络获取实时知识」演进。在 MCP 协议框架下,这种「爬虫 + RAG + 知识图谱」的三层架构为 AI Agent 提供了一个可插拔的知识获取管道。从增长数据看,项目从 0 到 2186 stars 只用了不到一年时间,574 forks 说明大量开发者已在生产环境中使用或二次开发。知识图谱幻觉检测方向尤其值得关注——随着 AI 编程助手在代码生成任务中越来越频繁地被采用,「如何确保 AI 生成的代码真实可用」将成为刚需,而基于代码结构知识图谱的验证方案是目前最可行的技术路径之一。该项目目前仍处于快速迭代阶段(README 中作者称之为「测试床」),功能完整性和稳定性还有提升空间。对于希望在 AI 编程助手中构建实时知识获取能力的团队,这是一个值得关注和跟踪的项目。