An elite Retrieval-Augmented Generation (RAG) system that transforms Obsidian vaults into AI-paired cognitive workflow engines with advanced Graphiti knowledge graph integration.
- L1: Semantic Context (30% weight) - Vector similarity search with OpenAI embeddings
- L2: Knowledge Graph (25% weight) - Graphiti-powered entity and relationship retrieval
- L3: Graph Traversal (15% weight) - NetworkX-based link traversal
- L4: Temporal Context (15% weight) - Time-based relevance and freshness
- L5: Domain Specialization (15% weight) - Context-aware retrieval
- L6: Meta-Knowledge (remaining weight) - Knowledge about knowledge
- 27+ Entity Types: concepts, people, organizations, technologies, methodologies, frameworks, algorithms, etc.
- 40+ Relationship Types: implements, uses, depends_on, extends, based_on, similar_to, integrates_with, etc.
- Dual-Graph Architecture: Neo4j (structured) + NetworkX (unstructured backup)
- Automatic Entity Extraction: Pattern matching and NLP-based entity recognition
- Relationship Detection: Confidence scoring and validation
- Claude Code Compatible: Full Model Context Protocol server implementation
- Tool-based API: Ingest, query, search knowledge graph, get entity context
- Real-time Status: System health monitoring and database connection checks
- Async Processing: High-performance concurrent operations
- Python 3.9+
- Docker & Docker Compose
- OpenAI API key
- Obsidian vault (optional but recommended)
- Neo4j Database (handled by setup scripts)
- Qdrant Vector Database (handled by setup scripts)
pip install obsidian-elite-rag-mcpgit clone https://github.com/aegntic/aegntic-MCP.git
cd aegntic-MCP/obsidian-elite-rag
pip install -e .# Initialize the system
obsidian-elite-rag-cli setup
# Start both databases (Qdrant + Neo4j)
obsidian-elite-rag-cli start-databases
# Or start manually with Docker
docker run -d --name qdrant -p 6333:6333 -v $(pwd)/data/qdrant:/qdrant/storage qdrant/qdrant:latest
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -v $(pwd)/data/neo4j:/data \
--env NEO4J_AUTH=neo4j/password --env NEO4J_PLUGINS='["apoc","graph-data-science"]' \
neo4j:5.14# Ingest all markdown files
obsidian-elite-rag-cli ingest /path/to/your/obsidian/vault
# Check system status
obsidian-elite-rag-cli status /path/to/your/obsidian/vault# Start the MCP server for Claude Code integration
obsidian-elite-rag-cli serverAdd to your Claude Code configuration (~/.config/claude-code/config.json):
{
"mcpServers": {
"obsidian-elite-rag": {
"command": "obsidian-elite-rag-cli",
"args": ["server"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}# Query the RAG system
obsidian-elite-rag-cli query "How does the RAG system work?" /path/to/vault
# Search knowledge graph for entities
obsidian-elite-rag-cli graph /path/to/vault --entity-query "machine learning"
# Technical queries
obsidian-elite-rag-cli query "JWT authentication patterns" /path/to/vault --query-type technical
# Research queries
obsidian-elite-rag-cli query "latest developments in LLMs" /path/to/vault --query-type researchWhen connected to Claude Code, you'll have access to these tools:
ingest_vault- Ingest markdown files from an Obsidian vaultquery_rag- Query the elite RAG system with multi-layer retrievalsearch_knowledge_graph- Search the Graphiti knowledge graph for entitiesget_entity_context- Get rich context for a specific entityget_related_entities- Get entities related through relationshipsget_system_status- Get system status and database connections
Example in Claude Code:
@obsidian-elite-rag please ingest my vault at /Users/me/Documents/Obsidian
@obsidian-elite-rag query "what are the key concepts in machine learning?" with vault path /Users/me/Documents/Obsidian
@obsidian-elite-rag search_knowledge_graph for "neural networks" in vault /Users/me/Documents/Obsidian
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Obsidian β β Claude Code β β MCP Protocol β
β Vault βββββΊβ Integration βββββΊβ Server β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Elite RAG System β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββββββ€
β Semantic β Knowledge β Temporal & Domain β
β Search β Graph β Specialization β
β (Qdrant) β (Neo4j) β β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββββββ
- Core: concept, person, organization, event, location
- Technical: technology, algorithm, framework, system, application
- Process: methodology, workflow, process, pattern
- Implementation: tool, library, database, api, protocol
- Documentation: standard, specification, principle, theory, model
- Architecture: design, implementation, project, research
- Structural: part_of, implements, extends, based_on, depends_on
- Semantic: similar_to, contrasts_with, related_to, examples_of
- Functional: uses, enables, requires, supports, improves
- Cognitive: defines, describes, explains, demonstrates, teaches
- Development: builds_on, applies_to, references, cites, tests
- Operational: manages, monitors, deploys, configures, maintains
- Retrieval Speed: <100ms for context-rich queries
- Knowledge Coverage: 95%+ recall on domain-specific queries
- Entity Recognition: 90%+ accuracy for concepts, people, organizations
- Relationship Extraction: 85%+ accuracy for semantic relationships
- Graph Traversal: <50ms for entity relationship queries up to depth 4
- Automation Coverage: 80%+ routine knowledge tasks automated
# Required
OPENAI_API_KEY=your-openai-api-key
# Optional (auto-configured by setup scripts)
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
QDRANT_HOST=localhost
QDRANT_PORT=6333The system uses config/automation-config.yaml for detailed configuration:
knowledge_graph:
enabled: true
provider: graphiti
graphiti:
neo4j_uri: bolt://localhost:7687
neo4j_user: neo4j
neo4j_password: "password"
rag_system:
layers:
semantic:
weight: 0.3
similarity_threshold: 0.7
knowledge_graph:
weight: 0.25
max_depth: 4
# ... other layersThe system works best with this Obsidian vault structure:
00-Core/ # π§ Foundational knowledge
01-Projects/ # π Active work
02-Research/ # π¬ Learning areas
03-Workflows/ # βοΈ Reusable processes
04-AI-Paired/ # π€ Claude interactions
05-Resources/ # π External references
06-Meta/ # π System knowledge
07-Archive/ # π¦ Historical data
08-Templates/ # π Note structures
09-Links/ # π External connections
We welcome contributions! Please see our Contributing Guide for details.
# Clone the repository
git clone https://github.com/aegntic/aegntic-MCP.git
cd aegntic-MCP/obsidian-elite-rag
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=obsidian_elite_rag
# Code formatting
black src/
mypy src/This project is licensed under the MIT License - see the LICENSE file for details.
Created by: Mattae Cooper Email: [email protected] Organization: Aegntic AI (https://aegntic.ai)
This project represents advanced research in AI-powered knowledge management and retrieval-augmented generation systems. The integration of Graphiti knowledge graphs with multi-layered RAG architecture represents a significant advancement in how AI systems can interact with and reason over personal knowledge bases.
- Documentation: Project Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- Graphiti - Knowledge graph construction for LLMs
- Qdrant - Vector similarity search engine
- Neo4j - Graph database
- LangChain - LLM application framework
- Model Context Protocol - Standard for AI tool integration
Made with β€οΈ by Aegntic AI Advancing the future of AI-powered knowledge management