
Claude Memory Manager
- 2 repo stars
- Updated April 6, 2026
- NyxToolsDev/claude-memory-manager
Claude Memory Manager is an MCP server that stores and semantically recalls Claude Code context across sessions.
About
Claude Memory Manager is an MCP server that adds cross-session memory to Claude Code: capture what mattered in a session, index it for semantic search, and recall it when you start fresh work on the same product. developers juggling multiple repos and side projects lose hours re-pasting README snippets, architecture choices, and naming conventions; this server keeps that context addressable from the agent instead of buried in chat history. Install through the MCP registry entry (stdio transport, PyPI identifier claude-memory-manager) and wire it into Claude Code like any other stdio server. It complements project rules and CLAUDE.md files by storing evolving, conversational context—bugs you fixed yesterday, API quirks you discovered, stakeholder preferences. Complexity is moderate because you need Python/uv tooling and discipline about what to capture versus what belongs in git. Best paired with a consistent tagging or naming scheme so search recall stays reliable as memory grows.
- Captures context from Claude Code sessions for later reuse
- Semantic search over stored memories instead of scrolling old threads
- Explicit recall tools for pulling prior decisions and project facts
- Stdio MCP package via PyPI (claude-memory-manager 0.1.1, uvx)
- Targets Claude Code specifically—not a generic notes app
Claude Memory Manager by the numbers
- Data as of Jul 11, 2026 (Skillselion catalog sync)
claude mcp add claude-memory-manager -- uvx claude-memory-managerAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 2 |
|---|---|
| Package | claude-memory-manager |
| Transport | STDIO |
| Auth | None |
| Last updated | April 6, 2026 |
| Repository | NyxToolsDev/claude-memory-manager ↗ |
What it does
Give Claude Code persistent memory across chats so developers do not re-explain repos, decisions, and preferences every session.
Who is it for?
Best when you live in Claude Code daily and want durable, searchable memory without building a custom vector store.
Skip if: Skip if you already standardize everything in docs and issue trackers and rarely depend on chat-local context.
What you get
After you register the server, Claude can search and pull prior session context on demand so iteration stays continuous instead of repetitive.
- Searchable memory store tied to your Claude Code workflow
- Recalled context injected into new sessions on demand
- Reduced re-onboarding time when returning to a stale repo
By the numbers
- Server version 0.1.1 on PyPI identifier claude-memory-manager
- Transport type stdio with runtimeHint uvx
- Repository github.com/NyxToolsDev/claude-memory-manager
README.md
Claude Memory Manager
Cross-session memory for Claude Code — never lose context between sessions.
Claude Memory Manager automatically captures architectural decisions, code changes, bug fixes, and configuration choices from your Claude Code sessions, then intelligently retrieves relevant context when you start new sessions.
What It Does
Every time you use Claude Code, valuable context is created and lost when the session ends:
- Which libraries you chose and why
- Bug fixes and their root causes
- Configuration decisions
- File structure and naming conventions
- Error resolutions
Claude Memory Manager solves this by:
- Parsing your Claude Code session logs (JSONL files)
- Extracting meaningful memories with importance scoring
- Embedding memories for semantic search
- Storing everything in a local SQLite database with FTS5
- Retrieving relevant context via hybrid semantic + keyword search
- Serving context to Claude Desktop via MCP protocol
Installation
pip install claude-memory-manager
For local embeddings (no API key needed):
pip install claude-memory-manager[local]
For development:
pip install claude-memory-manager[dev]
Quick Start
1. Initialize the Database
claude-memory init
This creates the SQLite database at ~/.claude-memory/memory.db and saves a config file.
2. Ingest Session Logs
# Ingest all sessions from the default path (~/.claude/projects/)
claude-memory ingest
# Ingest from a specific path
claude-memory ingest /path/to/sessions
# Watch for new sessions and auto-ingest
claude-memory ingest --watch
3. Search Memories
# Search across all memories
claude-memory search "authentication setup"
# Filter by project
claude-memory search "database schema" --project /path/to/project
# Filter by category
claude-memory search "cors" --category config
4. Generate Context Summary
# List all indexed projects
claude-memory context
# Generate summary for a specific project
claude-memory context /path/to/project
# With custom token limit
claude-memory context /path/to/project --max-tokens 3000
5. Connect to Claude Desktop (MCP)
Add to your Claude Desktop config (see MCP Setup):
{
"mcpServers": {
"claude-memory": {
"command": "claude-memory-mcp",
"args": []
}
}
}
CLI Reference
| Command | Description |
|---|---|
claude-memory init |
Initialize the SQLite database |
claude-memory ingest [PATH] |
Ingest session logs from path |
claude-memory ingest --watch |
Watch and auto-ingest new sessions |
claude-memory search "query" |
Hybrid semantic + keyword search |
claude-memory context [PROJECT] |
Generate context summary |
claude-memory list |
List all indexed sessions |
claude-memory stats |
Database statistics |
claude-memory prune --older-than 90d |
Remove old memories |
claude-memory export |
Export memories as JSON |
claude-memory serve |
Start MCP server mode |
Global Options
| Option | Description |
|---|---|
--config PATH |
Custom config file path |
--verbose / -v |
Enable debug logging |
--version |
Show version |
Search Options
| Option | Description |
|---|---|
--project / -p |
Filter by project path |
--category / -c |
Filter by category |
--limit / -n |
Max results (default: 5) |
Categories
Memories are classified into these categories:
decision— Architectural and design decisionscode_change— Significant code modificationsbug_fix— Bug identification and resolutionconfig— Configuration and environment changeserror_resolution— Errors encountered and solvedpreference— User preferences and conventionsdiscussion— General discussion summaries
MCP Setup
Claude Desktop
Find your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
Add the memory server:
{
"mcpServers": {
"claude-memory": {
"command": "claude-memory-mcp",
"args": []
}
}
}
- Restart Claude Desktop.
See examples/claude-desktop-config.json for a complete example.
MCP Tools
Once connected, Claude Desktop can use these tools:
| Tool | Description |
|---|---|
memory_search |
Search memories by query with optional filters |
memory_recall |
Get a formatted context summary for a project |
memory_save |
Save a new memory directly |
memory_stats |
Get database statistics |
Architecture
claude-memory-manager/
src/claude_memory/
cli.py # Click CLI commands
mcp_server.py # MCP stdio server
config.py # Configuration management
core/
extractor.py # Memory extraction from conversations
embedder.py # Embedding generation + caching
indexer.py # Pipeline: parse -> extract -> embed -> store
retriever.py # Hybrid semantic + keyword search
summarizer.py # Context summary generation
parsers/
jsonl_parser.py # Claude Code session log parser
diff_parser.py # Unified diff parser
storage/
database.py # SQLite + FTS5 operations
models.py # Pydantic data models
migrations.py # Schema versioning
integrations/
anthropic_embeddings.py # Voyage AI API
local_embeddings.py # sentence-transformers
utils/
formatting.py # CLI output formatting
license.py # License validation
Data Flow
Session Logs (.jsonl)
|
[JSONL Parser] -----> ParsedSession
|
[Extractor] --------> Memory objects (categorized, scored)
|
[Embedder] ----------> Embeddings (bytes for SQLite BLOB)
|
[Indexer] -----------> SQLite DB (with FTS5 index)
|
[Retriever] ---------> Search results (hybrid ranked)
|
[Summarizer] --------> Context summary (markdown)
Configuration
Configuration is loaded from (in priority order):
- Environment variables
- Config file (
~/.claude-memory/config.json) - Defaults
Environment Variables
| Variable | Description | Default |
|---|---|---|
CLAUDE_SESSIONS_PATH |
Path to session logs | ~/.claude/projects |
CLAUDE_MEMORY_DB_PATH |
Database file path | ~/.claude-memory/memory.db |
CLAUDE_MEMORY_EMBEDDING_PROVIDER |
anthropic, voyage, or local |
local |
ANTHROPIC_API_KEY |
Anthropic API key | — |
VOYAGE_API_KEY |
Voyage AI API key | — |
CLAUDE_MEMORY_MAX_TOKENS |
Max tokens for context | 2000 |
CLAUDE_MEMORY_LOG_LEVEL |
Log level | INFO |
Embedding Providers
| Provider | Dimension | Requires |
|---|---|---|
voyage |
1024 | VOYAGE_API_KEY |
anthropic |
1024 | ANTHROPIC_API_KEY |
local |
384 | pip install claude-memory-manager[local] |
If no provider is available, a stub provider is used (keyword search still works, but semantic search is disabled).
FAQ
Where are my memories stored?
In a SQLite database at ~/.claude-memory/memory.db. All data stays local.
Does this send my code to any API?
Only if you configure the Voyage or Anthropic embedding provider. In that case, only memory text content (not full session logs) is sent to generate embeddings. Use local for fully offline operation.
How does deduplication work? Each memory's content is hashed (SHA-256). If a memory with the same hash already exists, it is skipped during ingestion.
How does hybrid search work? Results from cosine-similarity vector search (70% weight) are combined with SQLite FTS5 keyword search results (30% weight). Memories appearing in both get combined scores.
Can I export my memories?
Yes: claude-memory export > memories.json or claude-memory export -o file.json.
How do I prune old memories?
claude-memory prune --older-than 90d removes memories older than 90 days. Supports d (days), w (weeks), m (months), y (years).
Development
# Clone and install in development mode
git clone https://github.com/nyxtools/claude-memory-manager.git
cd claude-memory-manager
pip install -e ".[dev]"
# Run tests
pytest
# Type check
mypy src/
# Lint
ruff check src/ tests/
License
MIT License. Copyright (c) 2026 NyxTools.
Recommended MCP Servers
How it compares
Persistent agent memory MCP server, not a project documentation skill or generic embedding pipeline you host yourself.
FAQ
Who is Claude Memory Manager for?
It is for developers and power users of Claude Code who need cross-session recall of project context, decisions, and working notes.
When should I use Claude Memory Manager?
Use it when you switch tasks or sessions often and want semantic search over what you already told the agent instead of re-prompting from scratch.
How do I add Claude Memory Manager to my agent?
Add the stdio MCP entry for claude-memory-manager from PyPI (runtimeHint uvx) in your Claude Code MCP config per the server registry schema 0.1.1.