使用说明

项目简介

Open Docs MCP Server 是一个开源的 MCP (Model Context Protocol) 服务器实现,旨在为大型语言模型 (LLM) 应用提供文档上下文支持。它通过抓取和索引各种来源的文档,并提供工具化的文档管理和搜索功能,帮助 LLM 更好地理解和利用文档知识。该项目旨在复现 Cursor 编辑器的 '@Docs' 功能,为开发者提供一个可定制、可扩展的文档知识库解决方案。

主要功能点

  • 文档抓取与索引: 支持从多种来源抓取文档,并建立全文搜索引擎索引,以便快速检索文档内容。支持多种文档格式(例如 Markdown)。
  • 文档资源访问: 通过 MCP 协议将索引的文档作为资源暴露,允许 LLM 客户端请求和访问文档内容。
  • 工具化文档管理: 提供一系列工具 (Tools) 用于管理文档,例如启用/禁用文档抓取、手动触发文档抓取、重建索引等。
  • 文档搜索工具: 提供 'search_docs' 工具,允许 LLM 客户端根据关键词搜索文档,并返回相关文档片段。

安装步骤

  1. 确保已安装 Node.js: 该项目基于 Node.js 开发,请确保您的环境中已安装 Node.js (版本 >= 16.0.0)。
  2. 使用 npx 运行: 无需全局安装,可以直接使用 'npx' 命令运行服务器。

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以 Claude Desktop 为例,您需要在 Claude 的配置文件中添加 'mcpServers' 配置项。以下是 Open Docs MCP Server 的配置示例,请根据您的实际情况修改 'args' 中的文档目录路径:

{
  "mcpServers": {
    "open-docs-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "open-docs-mcp",
        "--docsDir",
        "/path/to/your/docs"  // 请替换为您的文档目录路径
      ]
    }
  }
}

配置参数说明:

  • 'server name': 服务器名称,例如 'open-docs-mcp',客户端用此名称标识服务器。
  • 'command': 运行服务器的命令,这里使用 'npx' 来执行 'open-docs-mcp' 包。
  • 'args': 传递给服务器命令的参数数组。
    • '-y': 'npx' 参数,自动确认安装 'open-docs-mcp' 包。
    • 'open-docs-mcp': 要执行的 npm 包名,即 Open Docs MCP Server
    • '--docsDir': 必需参数,指定文档存储目录的路径。请将 '/path/to/your/docs' 替换为您实际存放文档的目录路径。服务器会在该目录下创建索引文件和存储抓取的文档。

基本使用方法

  1. 启动服务器: 在 Claude Desktop 配置文件中配置好服务器信息后,启动 Claude Desktop 客户端。客户端会自动连接并启动 Open Docs MCP Server

  2. 文档管理工具: 您可以使用以下 Tools 管理文档 (通过 MCP 客户端调用,例如 Claude 的工具调用功能):

    • 'enable_doc': 启用指定文档的抓取。需要提供 'name' 参数,即 'docs.jsonl' 文件中定义的文档名称。
    • 'disable_doc': 禁用指定文档的抓取。需要提供 'name' 参数。
    • 'crawl_docs': 开始抓取已启用的文档。可以设置 'force: true' 参数强制重新抓取所有文档。
    • 'build_index': 构建文档搜索索引。可以设置 'force: true' 参数强制重建索引。
    • 'list_enabled_docs': 列出所有已启用的文档及其缓存状态。
    • 'list_all_docs': 列出所有文档,包括禁用的文档。
  3. 文档搜索工具: 使用 'search_docs' 工具搜索文档内容。需要提供 'query' 参数 (搜索关键词),可选参数包括 'max_results' (最大结果数)、'doc_name' (文档类别过滤) 和 'offset' (结果偏移量)。

注意:

  • 首次运行服务器或文档内容更新后,建议使用 'crawl_docs' 和 'build_index' 工具更新文档和索引。
  • 确保 '--docsDir' 参数指定的目录存在且具有读写权限。

信息

分类

数据库与文件