mcp-ragdocs 是一个 MCP 服务器实现,提供通过向量搜索检索和处理文档的工具,使 AI 助手能够用相关文档上下文来增强其回答。
一、主要能力
- 基于向量的文档搜索与检索
- 支持多个文档来源
- 语义搜索能力
- 自动化文档处理
- 面向 LLM 的实时上下文增强
二、提供的工具
- search_documentation:使用自然语言查询搜索已存储的文档。返回按相关性排序的匹配摘录及其上下文。
- query(字符串):要在文档中搜索的文本。可以是自然语言查询、特定术语或代码片段。
- limit(数字,可选):返回结果的最大数量(1-20,默认 5)。更高的限制提供更全面的结果,但处理时间可能更长。
- 列出当前存储在系统中的所有文档来源:返回所有已索引文档的完整列表,包括来源 URL、标题和最后更新时间。可用于了解可搜索的文档有哪些,或验证特定来源是否已被索引。
- 从给定网页中提取并分析所有 URL:该工具会爬取指定网页,识别所有超链接,并可选地将它们加入处理队列。
- url(字符串):要分析的网页完整 URL(必须包含协议,例如 https://)。页面必须可公开访问。
- add_to_queue(布尔值,可选):如果为 true,则自动将提取的 URL 加入处理队列以便后续索引。在大型网站上使用时请谨慎,以免产生过多排队。
- remove_documentation:按 URL 从系统中移除特定文档来源。移除操作是永久性的,会影响未来的搜索结果。
- urls(字符串数组):要从数据库中移除的 URL 数组。每个 URL 必须与添加文档时使用的 URL 完全一致。
- 列出当前等待在文档处理队列中的所有 URL:显示将在调用 run_queue 时处理的待处理文档来源。可用于监控队列状态、验证 URL 是否已正确添加,或检查处理积压情况。
- 处理并索引文档队列中当前的所有 URL:每个 URL 按顺序处理,具备适当的错误处理和重试逻辑。处理过程中会提供进度更新。长时间运行的操作会持续到队列为空或发生不可恢复的错误。
- 移除文档处理队列中所有待处理的 URL:可用于在想要重新开始、移除不需要的 URL 或取消待处理操作时重置队列。该操作立即且永久生效——如果以后想要处理这些 URL,需要重新添加。
三、适用场景 The RAG Documentation 工具面向:
- 用相关文档增强 AI 回答
- 构建文档感知型 AI 助手
- 为开发者创建上下文感知工具
- 实现语义文档搜索
- 增强现有知识库
四、使用方式 与 Claude Desktop 配合使用:将配置加入 claude_desktop_config.json。 需要提供以下环境变量的值:
- OPENAI_API_KEY:用于生成嵌入的 OpenAI API 密钥
- QDRANT_URL:Qdrant 向量数据库实例的 URL
- QDRANT_API_KEY:用于向 Qdrant 进行身份验证的 API 密钥
五、许可与来源说明 本 MCP 服务器采用 MIT 许可证。这意味着可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情请参见项目仓库中的 LICENSE 文件。 本项目是 qpd-v/mcp-ragdocs 的分支,最初由 qpd-v 开发。原项目为本实现提供了基础。