项目简介
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' 参数来选择。
安装步骤
- 安装 Docker: 确保您的系统已安装 Docker Desktop (Windows/Mac) 或 Docker Engine (Linux)。
- 克隆仓库:
git clone https://github.com/donphi/MCP-Server.git cd MCP-Server - 配置 .env 文件: 复制 '.env.example' 文件并重命名为 '.env',根据需要编辑 '.env' 文件,例如配置 OpenAI API Key (可选) 和其他参数。
cp .env.example .env nano .env - 放置文档: 将您需要处理的 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" 错误。
基本使用方法
-
处理文档:
docker-compose build pipeline docker-compose run pipeline此命令会构建并运行文档处理流水线,将 'data/' 目录下的文档进行分块、嵌入并存储到向量数据库。您会被提示选择嵌入模型。
-
构建 MCP 服务器:
docker-compose build server在运行服务器之前,必须先构建服务器镜像。
-
运行 MCP 服务器:
./run-mcp-server.sh # macOS/Linux run-mcp-server.bat # Windows运行相应的脚本以启动 MCP 服务器。
-
配置 AI 助手: 将生成的 'mcp-config.json' 文件内容复制粘贴到支持 MCP 协议的 AI 助手的 MCP 服务器配置中 (例如 Roo)。
-
使用 MCP 工具: 在 AI 助手中,您可以:
- 自动模式: 直接提问,AI 助手会自动检索文档知识库。例如: "React 19 的关键特性是什么?"
- 显式工具调用: 使用特定工具进行查询。例如: "使用 search_content 工具查找关于 React 19 Compiler 的信息。"
常用 MCP 工具:
- 'search_content': 在文档内容中搜索关键词。
- 'get_context': 获取关于特定主题的上下文信息。
- 'project_structure': 获取项目结构信息 (如果文档是项目代码相关)。
- 'suggest_implementation': 获取实现建议 (可能用于代码或技术文档)。
信息
分类
数据库与文件