Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-RAGwhat does my employee handbook say about vacation days?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-RAG
Your Personal NotebookLM for Claude Desktop
Universal RAG (Retrieval-Augmented Generation) MCP server for Claude Desktop. Index documents via CLI, search them in Claude Desktop with 0% hallucination.
What is MCP-RAG?
Think of it as NotebookLM for Claude Desktop:
π Index any documents: PDF, Word, PowerPoint, Excel, νκΈ, TXT, MD
π Natural language search: Ask questions in Claude Desktop
β 0% Hallucination: Answers based ONLY on your documents
π» 100% Local: All data stays on your computer (ChromaDB)
π― Simple workflow: CLI for indexing β Claude Desktop for searching
Architecture
βββββββββββββββββββββββ
β Your Documents β
β (PDF, DOCX, etc) β
ββββββββββββ¬βββββββββββ
β
βΌ
[CLI: npm run cli add]
β
βΌ
βββββββββββββββββββββββ
β ChromaDB Server β ββββ Vector embeddings
β (localhost:8000) β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β MCP-RAG Server β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β Claude Desktop β ββββ You ask questions here!
βββββββββββββββββββββββTwo-Part System:
CLI = Document management (add, delete, list)
Claude Desktop = Search and Q&A
Quick Start
1. Install
git clone https://github.com/seanshin0214/mcp-rag.git
cd mcp-rag
npm install
pip install chromadb2. Start ChromaDB Server
Keep this running in a separate terminal:
chroma run --host localhost --port 80003. Add Documents (CLI)
# Add single document
npm run cli add school "path/to/regulations.pdf"
# Add multiple documents
npm run cli add research "paper1.pdf"
npm run cli add research "paper2.docx"
npm run cli add work "handbook.pptx"Supported formats:
Documents: PDF, DOCX, HWP, TXT, MD
Presentations: PPTX
Spreadsheets: XLSX, XLS
4. Configure Claude Desktop
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
β¨ Option 1: Auto-start ChromaDB (Recommended)
{
"mcpServers": {
"mcp-rag": {
"command": "node",
"args": ["/absolute/path/to/mcp-rag/start-with-chroma.js"]
}
}
}This automatically starts ChromaDB before starting MCP-RAG!
Option 2: Manual ChromaDB start
{
"mcpServers": {
"mcp-rag": {
"command": "node",
"args": ["/absolute/path/to/mcp-rag/src/index.js"]
}
}
}You need to manually run chroma run --host localhost --port 8000 before starting.
Important: Use your actual installation path!
5. Restart Claude Desktop
6. Ask Questions!
In Claude Desktop:
"What does the school collection say about attendance?""Search the research collection for methodology""Show me all my collections"CLI Commands
# Add document
npm run cli add <collection> <file> [-d "description"]
# List all collections
npm run cli list
# Get collection info
npm run cli info <collection>
# Search test
npm run cli search <collection> "query"
# Delete collection
npm run cli delete <collection>Examples
# Add with description
npm run cli add school "regulations.pdf" -d "School regulations 2024"
# Add multiple files (PowerShell)
Get-ChildItem "*.docx" | ForEach-Object {
npm run cli add MyCollection $_.FullName
}
# Check what's indexed
npm run cli list
npm run cli info schoolMCP Tools (Claude Desktop)
When you ask questions in Claude Desktop, these tools are automatically used:
Tool | Description |
| Search in specific collection or all collections |
| List all available collections |
| Get details about a collection |
Note: Document addition is CLI-only, not available in Claude Desktop.
How It Works
Indexing (CLI)
1. Read file (PDF/DOCX/PPTX/etc)
2. Extract text
3. Split into 500-token chunks (50-token overlap)
4. Generate embeddings (ChromaDB)
5. Store in collectionSearching (Claude Desktop)
1. You ask: "What's the attendance policy?"
2. MCP-RAG searches ChromaDB
3. Returns top 5 most relevant chunks
4. Claude answers using ONLY those chunksUse Cases
π Students
npm run cli add math "calculus-textbook.pdf"
npm run cli add physics "lecture-notes.docx"β "Explain the concept of derivatives from my math collection"
π’ Professionals
npm run cli add company "employee-handbook.pdf"
npm run cli add project "requirements.docx"β "What's our vacation policy?"
π¬ Researchers
npm run cli add literature "papers/*.pdf"
npm run cli add notes "research-notes.md"β "Summarize the methodology from the literature collection"
Features
β Multi-collection support - Organize by topic
β Semantic search - ChromaDB vector embeddings
β Source attribution - See which document/chunk
β Relevance scoring - Know how confident the match is
β Multiple file formats - PDF, DOCX, PPTX, XLSX, HWP, TXT, MD
β 100% local - No cloud, all on your machine
β 0% hallucination - Only document-based answers
Comparison
Feature | NotebookLM | MCP-RAG |
Platform | Google Cloud | Local |
AI Model | Gemini | Claude |
Privacy | Cloud | 100% Local |
Multi-collection | β | β |
CLI | β | β |
Cost | Free (limited) | Free (unlimited) |
Troubleshooting
ChromaDB Connection Error
Problem: Cannot connect to ChromaDB
Solution:
chroma run --host localhost --port 8000Keep this terminal open!
Claude Desktop: MCP Server Not Showing
Check
claude_desktop_config.jsonsyntaxUse absolute path (not relative)
Restart Claude Desktop completely
Check ChromaDB is running
No Search Results
# Verify documents are indexed
npm run cli list
npm run cli info <collection>
# Re-index if needed
npm run cli add <collection> <file>Advanced
Batch Add Files
PowerShell:
Get-ChildItem "C:\docs\*.pdf" | ForEach-Object {
npm run cli add MyCollection $_.FullName
}Bash:
for f in /path/to/docs/*.pdf; do
npm run cli add MyCollection "$f"
doneCustom Chunk Size
Edit src/indexer.js:
const CHUNK_SIZE = 500; // Tokens per chunk
const CHUNK_OVERLAP = 50; // Overlap between chunksLarger chunks = more context, fewer chunks Smaller chunks = more precise, more chunks
Project Structure
mcp-rag/
βββ src/
β βββ index.js # MCP server
β βββ cli.js # CLI tool
β βββ indexer.js # Document processing
βββ chroma/ # ChromaDB data (auto-created)
βββ package.json
βββ README.md
βββ QUICK_START.md
βββ HOW_TO_USE.mdRequirements
Node.js 18+
Python 3.8+ (for ChromaDB)
Claude Desktop (latest version)
Contributing
Contributions welcome! This is a universal tool that can benefit many users.
License
MIT License - see LICENSE
Credits
Built with:
Model Context Protocol (MCP) - Anthropic
ChromaDB - Vector database
pdf-parse - PDF extraction
mammoth - DOCX extraction
officeparser - PPTX extraction
xlsx - Excel extraction
node-hwp - νκΈ extraction
MCP-RAG - Your documents, Claude's intelligence, zero hallucination.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.