使用说明

项目简介

文档爬虫MCP服务器 (Docs Crawler MCP Server) 是一个实现了 Model Context Protocol (MCP) 的后端应用,旨在帮助用户构建基于特定网站文档的知识库。它通过爬取指定网站的文档内容,并利用向量数据库存储和检索信息,从而使LLM客户端能够访问和利用这些文档内容。

主要功能点

  • 文档爬取与存储
    • 爬取指定网站的文档内容,支持广度优先搜索,可配置爬取深度。
    • 将网页内容分割成块,并提取文本信息。
    • 使用简单的TF-IDF算法为文本块生成向量嵌入。
    • 将原始文本块和向量嵌入分别存储在本地文件系统和Qdrant向量数据库中。
  • 文档搜索
    • 接受用户输入的查询,并针对已爬取的网站文档进行向量相似度搜索。
    • 返回与查询相关的文本块,包括内容、来源URL和相关度评分。
    • 提供基于文本匹配的降级搜索方案,确保在向量搜索失败时仍能提供检索能力。

安装步骤

  1. 克隆仓库
    git clone https://github.com/Yazington/docs-crawler
    cd docs-crawler
  2. 安装依赖 确保已安装 Node.js (v18+) 和 npm。在项目根目录下运行:
    npm install
  3. 运行 Qdrant 向量数据库 推荐使用 Docker 运行本地 Qdrant 实例:
    docker run -p 6333:6333 -p 6334:6334 -v $(pwd)/qdrant_storage:/qdrant/storage:z qdrant/qdrant
    这将启动 Qdrant 并将数据存储在项目目录下的 'qdrant_storage' 文件夹中。
  4. 构建项目 编译 TypeScript 代码:
    npm run build
    构建完成后,会在 'build' 目录下生成 'index.js' 文件。

服务器配置

要将此 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