项目简介

MCP Server for Document Knowledge 是一个基于 Model Context Protocol (MCP) 标准构建的服务器,旨在帮助大型语言模型 (LLM) 突破知识截止日期和训练数据限制。通过部署此 MCP 服务器,您可以将最新的文档资料或私有知识库接入到支持 MCP 协议的 AI 助手,例如 Roo,从而让 AI 能够访问和利用这些信息,提升其在特定领域的知识和应用能力。

主要功能点

  • 文档处理与索引: 支持 Markdown、Text、PDF 和 Word 文档的自动处理,将文档内容分块 (chunking) 并生成向量嵌入 (embeddings),存储在向量数据库中,为后续的快速检索做好准备。
  • MCP 工具支持: 实现了符合 MCP 标准的工具接口,包括 'search_content'(内容搜索)、'get_context'(上下文获取)、'read_md_files'(文件读取)等,允许 AI 助手通过标准化的方式调用这些工具来查询和检索文档信息。
  • 灵活的配置: 支持多种嵌入模型选择,包括免费的本地模型和付费的 OpenAI 模型,用户可以根据需求和 API Key 情况灵活配置。同时,服务器的运行参数(如 Chunk 大小、结果数量等)也支持通过环境变量或配置文件进行调整。
  • 易于部署: 基于 Docker 容器化部署,简化了安装和运行过程,跨平台兼容性好。提供 macOS/Linux 和 Windows 平台的启动脚本和配置生成脚本。
  • 多种运行模式: 支持完整处理模式(使用 Claude 模型生成答案)和上下文检索模式(仅返回相关上下文),用户可根据是否配置 Anthropic API Key 以及 'USE_ANTHROPIC' 参数来选择。

安装步骤

  1. 安装 Docker: 确保您的系统已安装 Docker Desktop (Windows/Mac) 或 Docker Engine (Linux)。
  2. 克隆仓库:
    git clone https://github.com/donphi/MCP-Server.git
    cd MCP-Server
  3. 配置 .env 文件: 复制 '.env.example' 文件并重命名为 '.env',根据需要编辑 '.env' 文件,例如配置 OpenAI API Key (可选) 和其他参数。
    cp .env.example .env
    nano .env
  4. 放置文档: 将您需要处理的 Markdown (.md)、Text (.txt)、PDF (.pdf) 等文档文件放入 'data/' 目录下。

服务器配置

MCP 服务器需要配置 'mcp-config.json' 文件,以便 MCP 客户端 (如 Roo) 连接。以下是一个示例配置,您可以通过运行仓库提供的 'setup-mcpServer-json.sh' (macOS/Linux) 或 'setup-mcpServer-json.bat' (Windows) 脚本自动生成。

{
  "servers": [
    {
      "name": "MCP-Server",  // 服务器名称,可自定义
      "command": "./run-mcp-server.sh", // macOS/Linux 启动命令,请确保脚本可执行
      "args": [], // 启动参数,本例中无需参数
      "transport": "stdio", // 通信协议,默认为 stdio
      "handshaker": "json-rpc" // 握手协议,固定为 json-rpc
    }
  ]
}

参数注释:

  • 'name': MCP 服务器的名称,在客户端中显示,您可以自定义设置。
  • 'command': 启动 MCP 服务器的命令。请根据您的操作系统选择相应的启动脚本 ('run-mcp-server.sh' 或 'run-mcp-server.bat'),并确保脚本在正确路径下,必要时需要添加执行权限 ('chmod +x run-mcp-server.sh')。
  • 'args': 传递给启动命令的参数,本例中 MCP 服务器启动脚本无需额外参数。
  • 'transport': MCP 服务器使用的传输协议,默认为 'stdio',本项目也主要使用 'stdio'。
  • 'handshaker': MCP 握手协议,固定为 'json-rpc'。

注意: Windows 用户请使用 'run-mcp-server.bat' 作为 'command',并确保使用最新的批处理文件以避免 "invalid reference format" 错误。

基本使用方法

  1. 处理文档:

    docker-compose build pipeline
    docker-compose run pipeline

    此命令会构建并运行文档处理流水线,将 'data/' 目录下的文档进行分块、嵌入并存储到向量数据库。您会被提示选择嵌入模型。

  2. 构建 MCP 服务器:

    docker-compose build server

    在运行服务器之前,必须先构建服务器镜像。

  3. 运行 MCP 服务器:

    ./run-mcp-server.sh  # macOS/Linux
    run-mcp-server.bat # Windows

    运行相应的脚本以启动 MCP 服务器。

  4. 配置 AI 助手: 将生成的 'mcp-config.json' 文件内容复制粘贴到支持 MCP 协议的 AI 助手的 MCP 服务器配置中 (例如 Roo)。

  5. 使用 MCP 工具: 在 AI 助手中,您可以:

    • 自动模式: 直接提问,AI 助手会自动检索文档知识库。例如: "React 19 的关键特性是什么?"
    • 显式工具调用: 使用特定工具进行查询。例如: "使用 search_content 工具查找关于 React 19 Compiler 的信息。"

常用 MCP 工具:

  • 'search_content': 在文档内容中搜索关键词。
  • 'get_context': 获取关于特定主题的上下文信息。
  • 'project_structure': 获取项目结构信息 (如果文档是项目代码相关)。
  • 'suggest_implementation': 获取实现建议 (可能用于代码或技术文档)。

信息

分类

数据库与文件