
Some AI slop to let load the Epstein file dataset into my LLM via MCP
概览
A Model Context Protocol (MCP) server that provides Retrieval-Augmented Generation (RAG) capabilities over the Epstein Files dataset from HuggingFace. - 🔍 Semantic search over 20K+ Epstein Files documents - 🚀 Runs entirely on CPU and RAM - 💾 Vector storage on NVME via Qdrant Docker - 🎯 Uses all-MiniLM-L6-v2 embedding model - 📦 Zero local files needed - run directly via uv 1. - for running Qdrant 2. - Python package manager Add this to your MCP servers configuration (e.g., Claude Desktop config): That's it! The server will automatically: - Download and install dependencies - Load the embedding model - Fetch the dataset from HuggingFace (first run only) - Create embeddings and index them in Qdrant - Be ready to answer queries Once configured, your LLM can use the search_epstein_files tool: - "Find documents mentioning flight logs" - "Search for references to specific individuals" - "What documents discuss financial transactions?
README
以下为原文 README 节选,完整内容请查看原文。
Epstein Files RAG MCP Server
A Model Context Protocol (MCP) server that provides Retrieval-Augmented Generation (RAG) capabilities over the Epstein Files dataset from HuggingFace.
Features
- 🔍 Semantic search over 20K+ Epstein Files documents
- 🚀 Runs entirely on CPU and RAM
- 💾 Vector storage on NVME via Qdrant Docker
- 🎯 Uses
all-MiniLM-L6-v2embedding model - 📦 Zero local files needed - run directly via
uv
Prerequisites
- Docker - for running Qdrant
- UV - Python package manager
Install UV:
curl -LsSf https://astral.sh/uv/install.sh | sh
Quick Start
1. Start Qdrant Docker Container
# Create storage directory on your NVME
mkdir -p /path/to/nvme/qdrant_storage
# Run Qdrant
docker run -d \
--name qdrant \
-p 6333:6333 \
-p 6334:6334 \
-v /path/to/nvme/qdrant_storage:/qdrant/storage \
qdrant/qdrant
2. Configure Your LLM Client
Add this to your MCP servers configuration (e.g., Claude Desktop config):
{
"mcpServers": {
"epstein-rag": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/justinlime/epstein-rag-mcp.git",
"epstein-rag-mcp"
],
"env": {
"QDRANT_HOST": "localhost",
"QDRANT_PORT": "6333"
}
}
}
}
3. Restart Your LLM Client
That’s it! The server will automatically:
- Download and install dependencies
- Load the embedding model
- Fetch the dataset from HuggingFace (first run only)
- Create embeddings and index them in Qdrant
- Be ready to answer queries
Usage
Once configured, your LLM can use the search_epstein_files tool:
Example queries:
- “Find documents mentioning flight logs”
- “Search for references to specific individuals”
- “What documents discuss financial transactions?”
Configuration
Environment Variables
QDRANT_HOST- Qdrant server host (default:localhost)QDRANT_PORT- Qdrant server port (default:6333)
First Run
The first time you run the server, it will:
- Download the
all-MiniLM-L6-v2model (~80MB) - Fetch the Epstein Files dataset from HuggingFace (~100MB)
- Generate embeddings for all documents (10-30 minutes on CPU)
- Index them in Qdrant
Subsequent runs will be instant as the data is persisted in Qdrant.
Development
Local Installation
git clone https://github.com/yourusername/epstein-rag-mcp.git
cd epstein-rag-mcp
uv pip install -e .
Running Locally
uv run epstein-rag-mcp
Docker Management
# View logs
docker logs qdrant
# Stop Qdrant
docker stop qdrant
# Start Qdrant
docker start qdrant
# Access web UI
# Open http://localhost:6333/dashboard
Troubleshooting
“Failed to connect to Qdrant”
Make sure the Docker container is running:
docker ps | grep qdrant
Port Already in Use
Change the port mapping:
docker run -d --name qdrant -p 6335:6333 ...
安装
uvx --from git+https://github.com/justinlime/epstein-rag-mcp.git epstein-rag-mcp配置
{
"mcpServers": {
"epstein-rag": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/justinlime/epstein-rag-mcp.git",
"epstein-rag-mcp"
],
"env": {
"QDRANT_HOST": "localhost",
"QDRANT_PORT": "6333"
}
}
}
}