Claude Memory Manager

io.github.NyxToolsDev由 GitHub 帳號 NyxToolsDev 發布v0.1.1更新於 Oct 24, 2026

Cross-session memory for Claude Code — context capture, semantic search, recall

發布方自己的服務:Memory.fit

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,將 Claude Code 工作階段日誌索引到可搜尋的 SQLite 資料庫,為 Claude Desktop 提供跨工作階段記憶。

可以做什麼
  • 依查詢搜尋記憶,可依專案與類別篩選
  • 取得某個專案的格式化脈絡摘要
  • 直接儲存一筆新記憶
  • 檢視資料庫統計資訊
  • 底層由命令列工具解析 Claude Code 的 JSONL 工作階段日誌,擷取並評分記憶、產生向量,存入具 FTS5 的本機 SQLite 資料庫,實現語意加關鍵字的混合檢索
適用情境
適合長期在 Claude Code 中跨多個工作階段開發,希望先前的架構決策、錯誤修正、設定選擇與命名慣例能在 Claude Desktop 中自動重現,而不必反覆說明的人。
執行需求
以本機 Python 套件形式執行(claude-memory-manager,可透過 uvx 或 claude-memory-mcp 指令啟動),需寫入 Claude Desktop 設定。需先初始化資料庫(claude-memory init)並匯入工作階段日誌。向量預設使用本機提供者,選用 local 附加套件可安裝 sentence-transformers;使用 Voyage 或 Anthropic 向量需設定 VOYAGE_API_KEY 或 ANTHROPIC_API_KEY。
安裝前請注意
它會讀取你的 Claude Code 工作階段日誌,其中包含程式碼與對話內容。資料保存在本機 SQLite 資料庫,除非你選擇 Voyage 或 Anthropic 向量提供者,此時記憶文字會傳送給該 API;需要完全離線請使用本機提供者。工具可寫入新記憶,命令列還可清理或匯出已存記憶。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Claude Memory Manager,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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:

  1. Parsing your Claude Code session logs (JSONL files)
  2. Extracting meaningful memories with importance scoring
  3. Embedding memories for semantic search
  4. Storing everything in a local SQLite database with FTS5
  5. Retrieving relevant context via hybrid semantic + keyword search
  6. Serving context to Claude Desktop via MCP protocol

Installation

bash
pip install claude-memory-manager

For local embeddings (no API key needed):

bash
pip install claude-memory-manager[local]

For development:

bash
pip install claude-memory-manager[dev]

Quick Start

1. Initialize the Database

bash
claude-memory init

This creates the SQLite database at ~/.claude-memory/memory.db and saves a config file.

2. Ingest Session Logs

bash
# Ingest all sessions from the default path (~/.claude/projects/)claude-memory ingest
# Ingest from a specific pathclaude-memory ingest /path/to/sessions
# Watch for new sessions and auto-ingestclaude-memory ingest --watch

3. Search Memories

bash
# Search across all memoriesclaude-memory search "authentication setup"
# Filter by projectclaude-memory search "database schema" --project /path/to/project
# Filter by categoryclaude-memory search "cors" --category config

4. Generate Context Summary

bash
# List all indexed projectsclaude-memory context
# Generate summary for a specific projectclaude-memory context /path/to/project
# With custom token limitclaude-memory context /path/to/project --max-tokens 3000

5. Connect to Claude Desktop (MCP)

Add to your Claude Desktop config (see MCP Setup):

json
{  "mcpServers": {    "claude-memory": {      "command": "claude-memory-mcp",      "args": []    }  }}

CLI Reference

CommandDescription
claude-memory initInitialize the SQLite database
claude-memory ingest [PATH]Ingest session logs from path
claude-memory ingest --watchWatch and auto-ingest new sessions
claude-memory search "query"Hybrid semantic + keyword search
claude-memory context [PROJECT]Generate context summary
claude-memory listList all indexed sessions
claude-memory statsDatabase statistics
claude-memory prune --older-than 90dRemove old memories
claude-memory exportExport memories as JSON
claude-memory serveStart MCP server mode

Global Options

OptionDescription
--config PATHCustom config file path
--verbose / -vEnable debug logging
--versionShow version

Search Options

OptionDescription
--project / -pFilter by project path
--category / -cFilter by category
--limit / -nMax results (default: 5)

Categories

Memories are classified into these categories:

  • decision — Architectural and design decisions
  • code_change — Significant code modifications
  • bug_fix — Bug identification and resolution
  • config — Configuration and environment changes
  • error_resolution — Errors encountered and solved
  • preference — User preferences and conventions
  • discussion — General discussion summaries

MCP Setup

Claude Desktop

  1. Find your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the memory server:

json
{  "mcpServers": {    "claude-memory": {      "command": "claude-memory-mcp",      "args": []    }  }}
  1. Restart Claude Desktop.

See examples/claude-desktop-config.json for a complete example.

MCP Tools

Once connected, Claude Desktop can use these tools:

ToolDescription
memory_searchSearch memories by query with optional filters
memory_recallGet a formatted context summary for a project
memory_saveSave a new memory directly
memory_statsGet 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):

  1. Environment variables
  2. Config file (~/.claude-memory/config.json)
  3. Defaults

Environment Variables

VariableDescriptionDefault
CLAUDE_SESSIONS_PATHPath to session logs~/.claude/projects
CLAUDE_MEMORY_DB_PATHDatabase file path~/.claude-memory/memory.db
CLAUDE_MEMORY_EMBEDDING_PROVIDERanthropic, voyage, or locallocal
ANTHROPIC_API_KEYAnthropic API key—
VOYAGE_API_KEYVoyage AI API key—
CLAUDE_MEMORY_MAX_TOKENSMax tokens for context2000
CLAUDE_MEMORY_LOG_LEVELLog levelINFO

Embedding Providers

ProviderDimensionRequires
voyage1024VOYAGE_API_KEY
anthropic1024ANTHROPIC_API_KEY
local384pip 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

bash
# Clone and install in development modegit clone https://github.com/nyxtools/claude-memory-manager.gitcd claude-memory-managerpip install -e ".[dev]"
# Run testspytest
# Type checkmypy src/
# Lintruff check src/ tests/

License

MIT License. Copyright (c) 2026 NyxTools.

來源:README.md,提交 1fc1bf2

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合