A RAG MCP server that enables LLMs to interact with a vector database chunked library of local PDF/EPUB documents through conceptual search. Combines corpus-driven concept extraction, WordNet semantic enrichment, and multi-signal hybrid ranking powered by LanceDB to augment retrieval accuracy.
Quick Start • Docs • Setup • Development • Contributing
Concept-RAG uses an Goal → Activity → Skill → Tool architecture to help AI agents to efficiently acquire knowledge.
After initial setup of an always-applied rule, agents are able to use an exposed guidance resource to:
- Match the user's goal to an activity (e.g., "understand a topic", "explore a concept")
- Follow the skill workflow which orchestrates the right tool sequence
- Synthesize the answer with citations
This reduces context overhead and provides deterministic tool selection.
- Node.js 18+
- Python 3.9+ with NLTK
- OpenRouter API key (sign up here)
- MCP Client (Cursor or Claude Desktop)
# Clone and build
git clone https://github.com/m2ux/concept-rag.git
cd concept-rag
npm install
npm run build
# Install WordNet
pip3 install nltk
python3 -c "import nltk; nltk.download('wordnet'); nltk.download('omw-1.4')"
# Configure API key
cp .env.example .env
# Edit .env and add your OpenRouter API keysource .env
# Initial seeding (create database)
npx tsx hybrid_fast_seed.ts \
--dbpath ~/.concept_rag \
--filesdir ~/Documents/my-pdfs \
--overwrite
# Incremental seeding (add new documents only)
npx tsx hybrid_fast_seed.ts \
--dbpath ~/.concept_rag \
--filesdir ~/Documents/my-pdfsCursor (~/.cursor/mcp.json):
{
"mcpServers": {
"concept-rag": {
"command": "node",
"args": [
"/path/to/concept-rag/dist/conceptual_index.js",
"/home/username/.concept_rag"
]
}
}
}Restart your MCP client and start searching. See SETUP.md for other IDEs.
Forked from lance-mcp by adiom-data.
MIT License - see LICENSE for details.