claude-memory-fts
claude-memory-fts
Claude Code用の長期記憶MCPサーバー。ローカルのSQLiteデータベースに事実を保存し、ハイブリッド検索(FTS5 + セマンティックベクトル類似度)と自動コンテキスト注入を行います。
機能
ハイブリッド検索 — FTS5キーワード検索とセマンティックベクトル類似度検索を組み合わせ、Reciprocal Rank Fusion (RRF) で統合
セマンティック理解 — キーワードだけでなく意味で記憶を検索(all-MiniLM-L6-v2埋め込みモデルを使用)
自動コンテキスト注入 — 最も重要な30件の記憶をフック経由ですべてのプロンプトに自動注入
重要度ランキング — アクセス頻度、直近の更新、カテゴリの重みに基づいて事実をランク付け
アクセス追跡 — 各記憶がどれだけアクセスされたかを追跡
アップサート — 既存の事実を自動的に更新し、重複を防止
カテゴリ分け — 以下のタイプで整理可能: preference(好み)、decision(決定事項)、technical(技術)、project(プロジェクト)、workflow(ワークフロー)、personal(個人)、general(一般)
MCPリソース — セッションコンテキスト用に
memory://contextリソースを公開設定不要 — そのまま動作し、データは
~/.claude/memory.dbに保存
インストール
# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts
# Auto-configure context injection hook (recommended)
npx claude-memory-fts --setup-hook--setup-hook コマンドは自動的に以下を行います:
~/.claude/scripts/memory-context.shを作成~/.claude/settings.jsonにUserPromptSubmitフックを追加上位30件の記憶がすべてのプロンプトに自動的に注入される
CLIコマンド
コマンド | 説明 |
| MCPサーバーを起動(Claude Codeで使用) |
| 上位30件の事実を出力(フックスクリプトで使用) |
| コンテキスト注入フックを自動設定 |
設定
環境変数 | デフォルト | 説明 |
|
| SQLiteデータベースファイルのパス |
カスタムパスを使用する例:
claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-ftsツール
memory_save
事実を長期記憶に保存します。
パラメータ | 型 | 必須 | 説明 |
| string | はい | 記憶する情報 |
| string | いいえ | カテゴリ: |
memory_search
ハイブリッド検索:FTS5とセマンティック検索を並行して実行し、RRFで結果を統合します。部分一致にはLIKEを使用します。
パラメータ | 型 | 必須 | 説明 |
| string | はい | 検索キーワードまたはフレーズ |
| number | いいえ | 最大結果数(デフォルト: 10) |
memory_update
IDを指定して記憶の内容やカテゴリを更新します。
パラメータ | 型 | 必須 | 説明 |
| number | はい | 記憶ID |
| string | いいえ | 新しい内容(省略時は現在を維持) |
| string | いいえ | 新しいカテゴリ(省略時は現在を維持) |
memory_list
保存されたすべての記憶をカテゴリ別に一覧表示します。
パラメータ | 型 | 必須 | 説明 |
| string | いいえ | カテゴリでフィルタリング |
| number | いいえ | 最大結果数(デフォルト: 50) |
memory_delete
IDを指定して記憶を削除します。
パラメータ | 型 | 必須 | 説明 |
| number | はい | 記憶ID |
リソース
memory://context
重要度スコアでランク付けされた上位30件の事実を公開するMCPリソース:
アクセス頻度 — 頻繁にアクセスされる事実はスコアが高い(最大20ポイント)
直近性 — 最近更新された事実はスコアが高い(10ポイント、90日間で減衰)
カテゴリの重み — preference/decision (3), workflow/technical (2), project/personal (1), general (0)
仕組み
検索パイプライン
FTS5 + BM25 と セマンティックベクトル類似度 を並行して実行
結果を Reciprocal Rank Fusion (k=60) を使用して統合・重複排除
両方のリストに現れる事実は自然にブーストされる
両方とも空の場合は、LIKE 部分一致検索にフォールバック
検索ヒットごとにアクセス回数が追跡される
埋め込み(Embeddings)
モデル: all-MiniLM-L6-v2 (384次元, 約23MB)
@xenova/transformersを使用してローカルで生成 — API呼び出しは行われず、データはマシン外に出ない埋め込みは保存時に作成され、サーバー起動時にバックフィルされる
ノイズを除去するために0.3のしきい値でコサイン類似度を使用
ストレージ
高速な同時読み書きのためにWALモードのSQLiteを使用
リアルタイム全文インデックス作成のためにトリガー経由で同期されるFTS5仮想テーブル
埋め込みは事実とともにBLOBカラムとして保存
開発
git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
npm testライセンス
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kurovu146/claude-memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server