Skip to main content
Glama
nananaman

DuckDB-RAG-MCP-Sample

by nananaman

DuckDB RAG MCP Sample

This is a sample that embeds and vectorizes a markdown document so that it can be explained using MCP and RAG.

We use Plamo-Embedding-1B for vectorization.

function

  • Extract and vectorize text from markdown files

  • Vector Searching with DuckDB

  • Persisting vector data with Parquet files

  • Vector search from MCP

Related MCP server: RAG-MCP

How to use

Vector data generation

First, place the markdown files you want to search in a specific directory, then convert them to Parquet files with the following command.

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

Configuring MCP

Build

The following command will generate a single binary in dist/server .

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

MCP Client Configuration

Please set it according to the client you want to use.

For Claude Desktop it looks like this:

For VECTOR_PARQUET, specify the file you just converted.

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

It is set as follows:

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

Start the development server

uv run mcp dev server.py

license

The DuckDB RAG MCP Sample is provided under the Apache License, Version 2.0.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).
    15 npm
    37
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Retrieval Augmented Generation MCP server that ingests documents into a local vector database and enables semantic search queries.
    9
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP RAG Server is a Python MCP server that indexes documents in multiple formats (Markdown, text, PowerPoint, PDF) using multilingual-e5-large embeddings and enables vector search for retrieval-augmented generation.
    MIT