使用说明
项目简介
文档爬虫MCP服务器 (Docs Crawler MCP Server) 是一个实现了 Model Context Protocol (MCP) 的后端应用,旨在帮助用户构建基于特定网站文档的知识库。它通过爬取指定网站的文档内容,并利用向量数据库存储和检索信息,从而使LLM客户端能够访问和利用这些文档内容。
主要功能点
- 文档爬取与存储:
- 爬取指定网站的文档内容,支持广度优先搜索,可配置爬取深度。
- 将网页内容分割成块,并提取文本信息。
- 使用简单的TF-IDF算法为文本块生成向量嵌入。
- 将原始文本块和向量嵌入分别存储在本地文件系统和Qdrant向量数据库中。
- 文档搜索:
- 接受用户输入的查询,并针对已爬取的网站文档进行向量相似度搜索。
- 返回与查询相关的文本块,包括内容、来源URL和相关度评分。
- 提供基于文本匹配的降级搜索方案,确保在向量搜索失败时仍能提供检索能力。
安装步骤
- 克隆仓库
git clone https://github.com/Yazington/docs-crawler cd docs-crawler - 安装依赖
确保已安装 Node.js (v18+) 和 npm。在项目根目录下运行:
npm install - 运行 Qdrant 向量数据库
推荐使用 Docker 运行本地 Qdrant 实例:
这将启动 Qdrant 并将数据存储在项目目录下的 'qdrant_storage' 文件夹中。docker run -p 6333:6333 -p 6334:6334 -v $(pwd)/qdrant_storage:/qdrant/storage:z qdrant/qdrant - 构建项目
编译 TypeScript 代码:
构建完成后,会在 'build' 目录下生成 'index.js' 文件。npm run build
服务器配置
要将此 MCP 服务器添加到 MCP 客户端(如 Cline),需要编辑 MCP 客户端的配置文件。以 Cline (VS Code 扩展) 为例,配置文件通常位于:'c:\Users<YourUsername>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json'。
在 'mcpServers' 对象中添加以下配置项。请将 '<absolute_path_to_docs_crawler>' 替换为项目 'docs-crawler' 目录的绝对路径(注意使用正斜杠 '/')。
{ "mcpServers": { "docs-crawler": { "command": "node", "args": ["<absolute_path_to_docs_crawler>/build/index.js"], // command: "node" 表示使用 node.js 运行服务器 // args: 启动参数,指向编译后的 index.js 文件路径 "env": {}, "disabled": false, "autoApprove": [], "timeout": 300000 // 爬虫工具可能需要较长时间,设置超时时间 } } }
基本使用方法
配置完成后,在 MCP 客户端中即可使用 'docs-crawler' 服务器提供的工具。
示例 1: 爬取网站文档
Use the 'crawl-docs-website' tool from the 'docs-crawler' server with baseUrl 'https://react.dev/learn'
可以使用 'forceRecrawl: true' 参数强制重新爬取。
示例 2: 搜索已爬取的文档
Use the 'search-docs' tool from the 'docs-crawler' server with baseUrl 'https://react.dev/learn' and queries ['react hooks 是什么?', 'useState 如何使用']
服务器将返回搜索结果,包括相关的文本块、来源URL和相似度评分。
信息
分类
网页与API