D

DuckDB-RAG-MCP 文档检索工具

@nananaman/DuckDB-RAG-MCP-Sample
0 Stars 445 次浏览 nananaman 更新于 2026-08-23

一种MCP服务器,通过将markdown文档转换为嵌入向量并使用DuckDB进行向量搜索,从而实现RAG(检索增强生成)。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

DuckDB RAG MCP 示例

这是一个将 markdown 文档向量化并使其能够通过 MCP 从 RAG 中进行解释的示例。

向量化使用了 Plamo-Embedding-1B

功能

  • 从 markdown 文件中提取文本并进行向量化
  • 使用 DuckDB 进行向量搜索
  • 通过 Parquet 文件持久化向量数据
  • 从 MCP 进行向量搜索

使用方法

生成向量数据

首先,将您希望作为搜索目标的 markdown 文件放置在特定目录下,并使用以下命令将其转换为 Parquet 文件。

uv run main.py --directory ~/path/to/markdown/files --parquet vectors.parquet

MCP 的设置

构建

使用以下命令会生成一个名为 dist/server 的单一二进制文件。

uv run pyinstaller --clean --strip --noconfirm --onefile server.py

设置 MCP 客户端

根据您想使用的客户端进行相应设置。

对于 Claude Desktop 来说,配置如下所示。

请将 VECTOR_PARQUET 指定为您之前转换好的文件。

uv run mcp install server.py -v VECTOR_PARQUET=/path/to/vectors.parquet

配置如下:

{
  "mcpServers": {
    "DuckDB-RAG-MCP-Sample": {
      "command": "/path/to/dist/server",
      "env": {
        "VECTOR_PARQUET": "/path/to/vectors.parquet"
      }
    }
  }
}

启动开发服务器

uv run mcp dev server.py

许可证

DuckDB RAG MCP 示例是在 Apache License, Version 2.0 下提供的。

相关 MCP 服务