Back to MCP directory
publicPublicdnsLocal runtime

ragdocs

一个基于Qdrant向量数据库和Ollama/OpenAI嵌入的RAG服务,提供文档语义搜索与管理功能。

article

README

🚀 RagDocs 文档知识图谱服务器

RagDocs 是一个模型上下文协议(MCP)服务器,借助 Qdrant 向量数据库与 Ollama/OpenAI 嵌入模型,实现检索增强生成(RAG)功能。它能通过向量相似度,高效完成文档的语义搜索与管理。

🚀 快速开始

要使用 RagDocs 文档知识图谱服务器,你需要满足以下先决条件,并完成安装和配置。

先决条件

  • Node.js 16 或更高版本
  • 下列之一的 Qdrant 设置:
    • 使用 Docker 的本地实例(免费)
    • 带 API 密钥的 Qdrant 云账户(托管服务)
  • 下列之一用于嵌入模型:
    • 本地运行的 Ollama(默认,免费)
    • OpenAI API 密钥(可选,付费)

安装

npm install -g @mcpservers/ragdocs

配置

MCP 服务器

编辑 config.json 文件:

{
    "mcp_port": 5000,
    "db_path": "./db",
    "log_level": "info"
}

启动 MCP 服务器

在终端运行:

node index.js

环境变量

  • MCP_PORT:指定 MCP 服务器的端口(默认:5000)
  • DB_PATH:指定数据库文件的存储路径(默认:./db)
  • LOG_LEVEL:设置日志级别(info/debug/warn/error)

安装依赖

在终端运行:

npm install express pg jsonwebtoken cors dotenv sequelize

✨ 主要特性

  • 添加带有元数据的文档:可为文档添加元数据,方便后续管理和检索。
  • 通过语义相似度搜索文档:基于向量相似度,实现高效的语义搜索。
  • 列出并组织文档:支持分页和分组选项,便于对文档进行管理。
  • 删除文档:可根据文档 URL 删除指定文档。
  • 支持 Ollama(免费)和 OpenAI(付费)嵌入模型:提供多种选择,满足不同需求。
  • 自动文本分块和嵌入生成:提高文档处理效率。
  • 使用 Qdrant 进行向量存储:确保向量数据的高效存储和检索。

📚 详细文档

可用工具

1. add_document

将文档添加到 RAG 系统。 | 参数 | 详情 | |------|------| | url(必需) | 文档 URL/标识符 | | content(必需) | 文档内容 | | metadata(可选) | 文档元数据
- title:文档标题
- contentType:内容类型(例如,“text/markdown”) |

2. search_documents

使用语义相似度搜索存储的文档。 | 参数 | 详情 | |------|------| | query(必需) | 自然语言搜索查询 | | options(可选) | - limit:结果的最大数量(1 - 20,默认:5)
- scoreThreshold:最小相似度得分(0 - 1,默认:0.7)
- filters
- domain:按领域过滤
- hasCode:筛选包含代码的文档
- after:筛选在特定日期之后的文档(ISO 格式)
- before:筛选在特定日期之前的文档(ISO 格式) |

3. list_documents

列出所有存储的文档,支持分页和分组选项。 | 参数(全部可选) | 详情 | |------|------| | page | 页码(默认:1) | | pageSize | 每页的文档数量(1 - 100,默认:20) | | groupByDomain | 按领域分组(默认:false) | | sortBy | 排序字段(“timestamp”,“title” 或 “domain”) | | sortOrder | 排序顺序(“asc” 或 “desc”) |

4. delete_document

从 RAG 系统中删除文档。 | 参数 | 详情 | |------|------| | url(必需) | 要删除的文档 URL |

📄 许可证

本项目采用 Apache License 2.0 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client