小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
Apache License 2.0
6
最近更新:17天前

基于RAG的文档搜索与管理MCP服务器

RagDocs MCP 服务器

一个提供检索增强生成(RAG)功能的模型上下文协议(MCP)服务器,使用 Qdrant 向量数据库和 Ollama/OpenAI 嵌入技术。该服务器支持通过向量相似度实现语义搜索和文档管理。

功能特性

  • 添加带元数据的文档
  • 通过文档进行语义搜索
  • 列出和组织文档
  • 删除文档
  • 同时支持 Ollama(免费)和 OpenAI(付费)嵌入技术
  • 自动文本分块和嵌入生成
  • 使用 Qdrant 进行向量存储

先决条件

  • Node.js 16 或更高版本
  • 以下任一种 Qdrant 配置:
    • 使用 Docker 的本地实例(免费)
    • 带有 API 密钥的 Qdrant Cloud 账户(托管服务)
  • 以下任一种嵌入技术:
    • 本地运行的 Ollama(默认,免费)
    • OpenAI API 密钥(可选,付费)

可用工具

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

安装

bash 复制代码
npm install -g @mcpservers/ragdocs

MCP 服务器配置

json 复制代码
{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "http://127.0.0.1:6333",
        "EMBEDDING_PROVIDER": "ollama"
      }
    }
  }
}

使用 Qdrant Cloud:

json 复制代码
{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "https://your-cluster-url.qdrant.tech",
        "QDRANT_API_KEY": "your-qdrant-api-key",
        "EMBEDDING_PROVIDER": "ollama"
      }
    }
  }
}

使用 OpenAI:

json 复制代码
{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "http://127.0.0.1:6333",
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

本地 Qdrant 使用 Docker

bash 复制代码
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant

环境变量

  • QDRANT_URL:你的 Qdrant 实例 URL
  • QDRANT_API_KEY:Qdrant Cloud 的 API 密钥(使用云实例时必需)
  • EMBEDDING_PROVIDER:嵌入技术提供商选择("ollama" 或 "openai",默认:"ollama")
  • OPENAI_API_KEY:OpenAI API 密钥(使用 OpenAI 时必需)
  • EMBEDDING_MODEL:用于嵌入技术的模型
    • Ollama:默认为 "nomic-embed-text"
    • OpenAI:默认为 "text-embedding-3-small"

许可证

Apache License 2.0