DuckDB RAG MCP Sample
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 Sampleは、Apache License, Version 2.0の下で提供されています。
Recommend MCP Servers 💡
ai-Bible
An MCP server that provides reliable and repeatable lookup of biblical text for Large Language Models, enabling consistent data retrieval for research or educational purposes.
reyxgpt
An agent built on the Model Context Protocol for managing Minecraft servers via RCON, allowing execution of server commands and monitoring server and player status.
clearml-mcp
A lightweight Model Context Protocol (MCP) server that enables AI assistants to interact with ClearML experiments, models, and projects, providing comprehensive ML experiment context and analysis directly in AI conversations.
prashalruchiranga/arxiv-mcp-server
An MCP server that enables natural language interaction with the arXiv API to retrieve scholarly article metadata, download PDFs, search the database, and load articles into LLM context.
Databricks Genie MCP Server
An MCP server enabling LLMs to interact with Databricks Genie API for natural language queries, SQL execution, and conversational agent interaction within Databricks workspaces.
edgeone-geo-mcp-server
An MCP server that integrates with EdgeOne Pages Functions to retrieve user geolocation information for large language models.