Back to MCP directory
publicPublicdnsLocal runtime

Document Crawler & Search

该项目提供了一套工具集,用于爬取网站内容并生成Markdown文档,同时通过MCP服务器实现文档的语义搜索功能,支持与Cursor等工具集成。

article

README

🚀 知识库系统

这是一个使用爬取4AI(crawl4ai)和快速MCP(fastmcp)协议构建的知识库系统,允许用户通过自然语言查询从文档中获取信息,为知识检索提供了便捷的途径。

🚀 快速开始

本知识库系统能让你通过自然语言查询文档信息。下面将为你介绍如何安装和使用该系统。

📦 安装指南

项目概述

此系统基于爬取4AI(crawl4ai)和快速MCP(fastmcp)协议构建,可借助自然语言查询从文档里获取信息。

安装步骤

  1. 克隆仓库
    git clone git@github.com:yourusername/MCPDocSearch.git
    cd MCPDocSearch
    
  2. 创建虚拟环境并安装依赖
    uv env create --python 3.8+
    pip install -r requirements.txt
    

📚 详细文档

文档结构

项目包含以下关键部分:

  • crawler_cli:负责网页爬取和文档生成。
  • mcp_server:实现MCP协议,提供知识库查询接口。

核心流程

  1. 爬虫运行
    • 使用crawl4ai从指定URL开始爬取。
    • 依据规则(如深度、链接模式)抓取页面内容。
  2. 内容清洗
    • 可选步骤:使用BeautifulSoup清理HTML,移除导航栏等非必要元素。
  3. 文档生成
    • 将清理后的HTML转换为Markdown格式。
    • 保存至./storage/目录。
  4. MCP服务器启动
    uv run python -m mcp_server.main
    

配置示例

与Cursor/Claude桌面版集成

在项目根目录下创建.cursor/mcp.json文件,内容如下:

{
  "mcpServers": {
    "doc-query-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/your/MCPDocSearch/absolute/path",
        "run",
        "python",
        "-m",
        "mcp_server.main"
      ],
      "env": {}
    }
  }
}

依赖项

关键库包括:

  • crawl4ai:核心网络爬取功能
  • fastmcp:MCP服务器实现
  • sentence-transformers:文本嵌入生成
  • torch:sentence-transformers的依赖
  • typer:构建命令行工具
  • uv:项目和环境管理
  • beautifulsoup4(通过crawl4ai使用)
  • rich:增强终端输出

体系结构

系统遵循以下流程:

  1. 爬虫CLI:用户运行工具,指定起始URL及相关选项。
  2. 网络爬取:使用crawl4ai获取网页内容,并根据规则抓取链接。
  3. 内容清洗:可选步骤,使用BeautifulSoup清理HTML。
  4. 文档生成:将处理后的内容转换为Markdown格式并保存。
  5. MCP服务器启动:运行mcp_server.main模块,提供知识库查询服务。

安全提示

  • Pickle缓存:项目使用pickle模块缓存处理数据。为确保安全,请保证./storage/目录仅被受信任的用户或进程访问。

安全注意事项

⚠️ 重要提示

  • 确保缓存目录./storage/仅被授权用户访问。
  • 定期清理旧文档以减少潜在的安全风险。
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client