esinecan/simple-good-llm-memory-mcp-server
3.2
If you are the rightful owner of simple-good-llm-memory-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This document provides a comprehensive guide to setting up and using a Model Context Protocol (MCP) server with dual storage architecture for semantic search and knowledge graph management.
Tools
8
Resources
0
Prompts
0
Quick Start
1. Start Services
docker-compose up -d
This starts:
- ChromaDB (port 8000) - Vector storage for semantic search
- Neo4j (ports 7474, 7687) - Knowledge graph for relationships
2. Configure in llm client
Type /mcp
in llm client and add:
{
"mcpServers": {
"skynet-memory": {
"command": "node",
"args": ["/Users/PROECT_DIRECTORY/dist/index.js"],
"env": {
"CHROMA_URL": "http://localhost:8000",
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password123"
}
}
}
}
3. Restart llm client
Changes take effect after restart.
Features
Dual Storage Architecture
- ChromaDB: Vector embeddings for semantic search
- Neo4j: Graph relationships between memories, tags, sessions
Hybrid Search
- Semantic search via embeddings (Google text-embedding-004)
- Keyword fallback when semantic results are poor
- Intelligent merging and ranking
Memory Operations
- Save: Store with tags, importance (1-10), context, session
- Search: Semantic + keyword hybrid with filters
- Update: Modify existing memories
- Delete: Remove with automatic graph cleanup
- Related: Find semantically similar memories
- Stats: Analytics and tag distribution
- Time Range: Temporal queries with pagination
Resilience
- Automatic retry queues for failed syncs
- Health checks and graceful degradation
- Falls back to hash-based embeddings if API unavailable
Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Server (index.js) ā
ā - 8 Tools exposed via MCP protocol ā
āāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
āāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Conscious Memory Service ā
ā - Hybrid search logic ā
ā - Importance scoring ā
ā - Session management ā
āāāāāāāāāā¬āāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāā
ā ā
ā¼ ā¼
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāā
ā ChromaDB ā ā Neo4j KG ā
ā Vectors ā ā Relationships ā
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāā
8 MCP Tools
- save_memory - Store information
- search_memories - Search with filters
- search_memories_by_time_range - Temporal queries
- update_memory - Modify memories
- delete_memory - Remove memories
- get_memory_tags - List all tags
- get_related_memories - Find similar
- get_memory_stats - Analytics
Environment Variables
# ChromaDB
CHROMA_URL=http://localhost:8000
MEMORY_COLLECTION_NAME=skynet_memories
# Neo4j
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password123
# Google Embeddings (optional)
GOOGLE_API_KEY=your_key_here
Development
# Install dependencies
npm install
# Build
npm run build
# Type check
npm run type-check
License
MIT