How It Works
claude-mem creates a persistent memory layer for Claude Code sessions, capturing and recalling context automatically.Architecture Overview
Key Components
1. Hook System
claude-mem uses three hooks:2. Memory Compression
During compression:1
Extract Transcript - Captures the conversation from Claude Code
2
Analyze Content - Identifies key insights, solutions, and decisions
3
Generate Summaries - Creates searchable memory documents
4
Save Memories - Writes to the local JSONL index and instructs Claude to sync with Chroma via MCP tools
3. Context Loading
When you start a new session:- Project Detection - Identifies current working directory
- Memory Lookup - Reads recent entries from the local JSONL index
- Ranking - Orders by recency and session grouping
- Display - Shows formatted context in session start
~/.claude-mem/claude-mem-index.jsonl
for recent summaries without Chroma queries.
Memory Storage
claude-mem writes summaries to local JSONL and persists in Chroma via MCP:Storage Locations
Compression Algorithm
Transcript compression process:Semantic Search
Vector search process:- Query Embedding - Converts search query to vector
- Similarity Search - Finds closest matches in Chroma
- Metadata Filtering - Applies project/time filters
- Result Ranking - Orders by relevance score
MCP Integration
MCP integration with Chroma:MCP provides a standardized way for Claude Code to interact with external tools like Chroma DB.
MCP Server Configuration
Available MCP Tools
chroma_add_documents
- Store new memorieschroma_query_documents
- Search memorieschroma_get_documents
- Retrieve specific memorieschroma_delete_documents
- Remove memories