How dustinspace217/mcp-memory-server works
MCP Memory Server exposes a knowledge-graph memory workflow: an MCP client writes entities, observations, and relations; the server persists versioned records in SQLite; and clients search or retrieve graph and session context. Embeddings and fused ranking support semantic retrieval. The repository also includes a Claude Code lifecycle harness and a companion graph visualizer. The sampled source confirms the server entry point, SQLite/embedding boundary, context-layer logic, and visualization data flow; other tool-level wiring is represented only where documented by the README.
Main entry points: sqlite-store.ts Memory store · generate.py Graph generator · index.ts Tool handlers · embedding.ts Embedding pipeline
Components 17
MCP memory server
- Tool handlers
index.ts - Memory store
sqlite-store.ts - JSONL migration reader
jsonl-reader.ts - Name normalization
normalize-name.ts - Embedding pipeline
embedding.ts
Search and context
- Ranked search
rank-fusion.ts - Context layers
context-layers.ts
Session harness
- Context and continuity hooks
harness/hooks - Freshness scanning
harness/hooks/check-memory-freshness.py - Memory audit
harness/audit/run-memory-audit.py
Graph visualization
- Graph generator
viz/generate.py - Entity vectors
viz/entity_vectors.py - Link suggestions
viz/suggester.py - Graph viewer
viz/template.html
Other components
- MCP client
- ONNX embedding model
- Memory user
Connections 18
- MCP client → Tool handlers: calls tools
- Tool handlers → Memory store: reads and writes
- Tool handlers → JSONL migration reader: starts migration
- Memory store → JSONL migration reader: loads legacy graph
- Memory store → Name normalization: normalizes names
- Memory store → Embedding pipeline: requests vectors
- Embedding pipeline → ONNX embedding model: generates embeddings
- Memory store → Ranked search: fuses search signals
- Tool handlers → Context layers: builds context layers
- Context and continuity hooks → Memory store: reads session context
- Freshness scanning → Memory store: checks stored observations
- Memory audit → Memory store: reads memory records
- Memory user → Graph generator: requests graph view
- Graph generator → Memory store: reads graph data
- Graph generator → Entity vectors: computes semantic vectors
- Graph generator → Link suggestions: finds unlinked neighbors
- Graph generator → Graph viewer: generates viewer data
- Graph viewer → Memory user: displays graph