使用说明

项目简介

MCPDocSearch 是一个文档爬取和 MCP 服务器项目,旨在将网站文档转换为可搜索的 Markdown 格式,并通过 MCP 协议以服务器的形式对外提供文档查询能力。它包含一个网站爬虫工具和一个 MCP 服务器,可以方便地集成到 Cursor 等支持 MCP 协议的 LLM 客户端中,为代码助手提供丰富的上下文信息。

主要功能点

  • 网站文档爬取: 使用 'crawler_cli' 工具可以从指定 URL 开始爬取网站内容,并将其转换为 Markdown 格式保存。支持配置爬取深度、URL 模式过滤、内容类型等,并可选择移除 HTML 中的导航链接和页眉页脚等冗余信息,生成干净的文档内容。
  • MCP 服务器: 'mcp_server' 加载本地 Markdown 文档,并基于标题结构进行语义分块,利用 'sentence-transformers' 生成文本向量嵌入,实现文档内容的语义搜索。首次启动或文档更新时,服务器会自动处理文档并生成缓存,后续启动速度更快。
  • 文档管理与查询: 提供 'list_documents'、'get_document_headings' 和 'search_documentation' 等 MCP 工具,允许客户端列出可用文档、获取文档标题结构以及进行文档内容的语义搜索。
  • Cursor 集成: 专为 Cursor 等 MCP 客户端设计,可以通过 'stdio' 传输协议无缝集成,为 Cursor Agent 提供文档查询能力。

安装步骤

  1. 安装 'uv': 按照 uv 官网 的指引安装 'uv',这是一个用于 Python 项目依赖管理的工具。
  2. 克隆仓库: 使用 Git 克隆 MCPDocSearch 仓库到本地:
    git clone https://github.com/alizdavoodi/MCPDocSearch.git
    cd MCPDocSearch
  3. 安装依赖: 在仓库根目录下运行 'uv sync' 命令,这将创建虚拟环境并安装 'pyproject.toml' 中列出的所有依赖。

服务器配置

为了让 MCP 客户端(如 Cursor)连接到 MCPDocSearch 服务器,需要在客户端中配置服务器信息。以 Cursor 为例,需要在项目根目录下创建 '.cursor/mcp.json' 文件,并填入以下配置信息:

{
  "mcpServers": {
    "doc-query-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/MCPDocSearch",  # 替换为 MCPDocSearch 仓库的绝对路径
        "run",
        "python",
        "-m",
        "mcp_server.main"
      ],
      "env": {}
    }
  }
}

配置参数说明:

  • '"doc-query-server"': 服务器名称,可以自定义。
  • '"command": "uv"': 指定使用 'uv' 命令来运行服务器。
  • '"args"': 启动服务器的参数列表。
    • '"--directory", "/path/to/your/MCPDocSearch"': 重要,指定 'uv' 命令的工作目录为 MCPDocSearch 仓库的绝对路径请务必将其替换为你本地仓库的实际绝对路径
    • '"run", "python", "-m", "mcp_server.main"': 使用 'uv run' 运行 Python 模块 'mcp_server.main',即启动 MCP 服务器的命令。
  • '"env": {}': 环境变量,当前配置为空。

注意: 请将 '/path/to/your/MCPDocSearch' 替换为你本地 MCPDocSearch 仓库的绝对路径

基本使用方法

  1. 爬取文档: 使用 'crawler_cli' 工具爬取网站文档,例如:
    uv run python crawl.py https://docs.example.com
    这会将 'https://docs.example.com' 的文档爬取并保存到 './storage/docs.example.com.md' 文件中。可以根据需要调整爬取参数,例如爬取深度、包含/排除 URL 模式等,具体参数可以使用 'uv run python crawl.py --help' 查看。
  2. 运行 MCP 服务器: 配置好 Cursor 的 'mcp.json' 文件后,重启 Cursor。Cursor 应该能够自动检测并连接到 'doc-query-server'。
  3. 在 Cursor 中查询文档: 在 Cursor 中可以使用 '@doc-query-server' 命令来调用 MCP 服务器提供的工具,例如:
    • '@doc-query-server list documents': 列出所有已爬取的文档文件名。
    • '@doc-query-server get document headings 文件名': 获取指定文档的标题结构。
    • '@doc-query-server search documentation for "查询关键词"': 在文档中搜索与 "查询关键词" 相关的段落。

首次运行服务器或文档更新后,服务器需要一些时间来处理文档和生成嵌入,请耐心等待。后续启动速度会很快,因为使用了缓存机制。

信息

分类

网页与API