claude-memory-manager について
Claude Memory Managerは、Claude Codeのセッションログを解析して決定、コード変更、修正内容を抽出し、ローカルのSQLiteに保存するセッション横断型メモリです。セマンティック検索とキーワード検索を組み合わせ、Claude Desktopに関連するコンテキストを提供します。
主な機能
- 01Claude Codeのセッションログ解析
- 02重要なメモリの抽出と分類
- 03セマンティック検索とキーワード検索の併用
- 04プロジェクトのコンテキスト要約
- 05ローカルSQLiteへの保存とエクスポート
活用シーン
- 01過去の設計判断と理由の検索
- 02バグ修正やエラー解決の履歴確認
- 03プロジェクトのコンテキスト要約の作成
- 04新しいセッションログの監視と取り込み
MCP 対応
MCPサーバーはClaude Desktopに、メモリ検索、プロジェクトコンテキストの取得、メモリ保存、データベース統計のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude Memory Manager
Claude Code のセッションをまたいで記憶を保持 — セッション間でコンテキストを失いません。
Claude Memory Manager は、Claude Code のセッションからアーキテクチャ上の決定、コード変更、バグ修正、設定の選択を自動的に記録し、新しいセッションを開始するときに関連するコンテキストをインテリジェントに取得します。
主な機能
Claude Code を使うたびに、価値あるコンテキストが作成されますが、セッションが終了すると失われます。
- 選択したライブラリと、その理由
- バグ修正とその根本原因
- 設定に関する決定
- ファイル構成と命名規則
- エラーの解決方法
Claude Memory Manager は、次の方法でこの問題を解決します。
- Claude Code のセッションログ(JSONL ファイル)を解析する
- 重要度を評価しながら、有用な記憶を抽出する
- 意味検索に備えて記憶を埋め込み処理する
- すべてを FTS5 を備えたローカルの SQLite データベースに保存する
- 意味検索とキーワード検索を組み合わせて、関連するコンテキストを取得する
- MCP プロトコル経由で Claude Desktop にコンテキストを提供する
インストール
pip install claude-memory-manager
ローカルで埋め込みを行う場合(API キーは不要です)。
pip install claude-memory-manager[local]
開発用の場合:
pip install claude-memory-manager[dev]
クイックスタート
1. データベースを初期化する
claude-memory init
これにより、~/.claude-memory/memory.db に SQLite データベースが作成され、設定ファイルが保存されます。
2. セッションログを取り込む
# 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 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. コンテキストの概要を生成する
# 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. Claude Desktop に接続する(MCP)
Claude Desktop の設定に追加します(MCP の設定を参照)。
{
"mcpServers": {
"claude-memory": {
"command": "claude-memory-mcp",
"args": []
}
}
}
CLI リファレンス
| コマンド | 説明 |
|---|---|
claude-memory init | SQLite データベースを初期化する |
claude-memory ingest [PATH] | 指定したパスからセッションログを取り込む |
claude-memory ingest --watch | 新しいセッションを監視し、自動的に取り込む |
claude-memory search "query" | 意味検索とキーワード検索を組み合わせて検索する |
claude-memory context [PROJECT] | コンテキストの概要を生成する |
claude-memory list | インデックス済みのすべてのセッションを一覧表示する |
claude-memory stats | データベースの統計情報を表示する |
claude-memory prune --older-than 90d | 古い記憶を削除する |
claude-memory export | 記憶を JSON としてエクスポートする |
claude-memory serve | MCP サーバーモードを起動する |
グローバルオプション
| オプション | 説明 |
|---|---|
--config PATH | カスタム設定ファイルのパス |
--verbose / -v | デバッグログを有効にする |
--version | バージョンを表示する |
検索オプション
| オプション | 説明 |
|---|---|
--project / -p | プロジェクトパスで絞り込む |
--category / -c | カテゴリで絞り込む |
--limit / -n | 結果の最大数(デフォルト:5) |
カテゴリ
記憶は次のカテゴリに分類されます。
decision— アーキテクチャおよび設計上の決定code_change— 重要なコード変更bug_fix— バグの特定と解決config— 設定と環境の変更error_resolution— 発生したエラーとその解決preference— ユーザーの好みと規約discussion— 一般的な議論の要約
MCP の設定
Claude Desktop
-
Claude Desktop の設定ファイルを確認します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
メモリーサーバーを追加します。
{
"mcpServers": {
"claude-memory": {
"command": "claude-memory-mcp",
"args": []
}
}
}
- Claude Desktop を再起動します。
完全な設定例については、examples/claude-desktop-config.json を参照してください。
MCP ツール
接続すると、Claude Desktop から次のツールを使用できます。
| ツール | 説明 |
|---|---|
memory_search | 任意のフィルターを指定して、クエリで記憶を検索する |
memory_recall | プロジェクトの書式付きコンテキスト概要を取得する |
memory_save | 新しい記憶を直接保存する |
memory_stats | データベースの統計情報を取得する |
アーキテクチャ
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
データフロー
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)
設定
設定は次の優先順位で読み込まれます。
- 環境変数
- 設定ファイル(
~/.claude-memory/config.json) - デフォルト値
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
CLAUDE_SESSIONS_PATH | セッションログのパス | ~/.claude/projects |
CLAUDE_MEMORY_DB_PATH | データベースファイルのパス | ~/.claude-memory/memory.db |
CLAUDE_MEMORY_EMBEDDING_PROVIDER | anthropic、voyage、または local | local |
ANTHROPIC_API_KEY | Anthropic API キー | — |
VOYAGE_API_KEY | Voyage AI API キー | — |
CLAUDE_MEMORY_MAX_TOKENS | コンテキストの最大トークン数 | 2000 |
CLAUDE_MEMORY_LOG_LEVEL | ログレベル | INFO |
埋め込みプロバイダー
| プロバイダー | 次元数 | 必要なもの |
|---|---|---|
voyage | 1024 | VOYAGE_API_KEY |
anthropic | 1024 | ANTHROPIC_API_KEY |
local | 384 | pip install claude-memory-manager[local] |
利用可能なプロバイダーがない場合は、スタブプロバイダーが使用されます(キーワード検索は引き続き機能しますが、セマンティック検索は無効になります)。
FAQ
メモリはどこに保存されますか?
~/.claude-memory/memory.db の SQLite データベースに保存されます。すべてのデータはローカルに保管されます。
コードは API に送信されますか?
Voyage または Anthropic の埋め込みプロバイダーを設定した場合に限り、送信されます。その場合、埋め込みの生成に送信されるのはメモリのテキスト内容のみであり、セッションログ全体は送信されません。完全にオフラインで使用するには、local を使用してください。
重複排除はどのように機能しますか? 各メモリの内容はハッシュ化(SHA-256)されます。同じハッシュのメモリがすでに存在する場合、取り込み時にスキップされます。
ハイブリッド検索はどのように機能しますか? コサイン類似度によるベクトル検索の結果(重み 70%)を、SQLite FTS5 のキーワード検索結果(重み 30%)と組み合わせます。両方に表示されるメモリは、スコアが統合されます。
メモリをエクスポートできますか?
はい。claude-memory export > memories.json または claude-memory export -o file.json を実行してください。
古いメモリを削除するにはどうすればよいですか?
claude-memory prune --older-than 90d を実行すると、90 日より古いメモリが削除されます。d(日)、w(週)、m(月)、y(年)に対応しています。
開発
# 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/
ライセンス
MIT ライセンス。Copyright (c) 2026 NyxTools。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。