Skip to main content
Glama

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 コマンドは自動的に以下を行います:

  1. ~/.claude/scripts/memory-context.sh を作成

  2. ~/.claude/settings.jsonUserPromptSubmit フックを追加

  3. 上位30件の記憶がすべてのプロンプトに自動的に注入される

CLIコマンド

コマンド

説明

npx claude-memory-fts

MCPサーバーを起動(Claude Codeで使用)

npx claude-memory-fts --context

上位30件の事実を出力(フックスクリプトで使用)

npx claude-memory-fts --setup-hook

コンテキスト注入フックを自動設定

設定

環境変数

デフォルト

説明

MEMORY_DB_PATH

~/.claude/memory.db

SQLiteデータベースファイルのパス

カスタムパスを使用する例:

claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-fts

ツール

memory_save

事実を長期記憶に保存します。

パラメータ

必須

説明

fact

string

はい

記憶する情報

category

string

いいえ

カテゴリ: preference, decision, personal, technical, project, workflow, general のいずれか

ハイブリッド検索:FTS5とセマンティック検索を並行して実行し、RRFで結果を統合します。部分一致にはLIKEを使用します。

パラメータ

必須

説明

keyword

string

はい

検索キーワードまたはフレーズ

limit

number

いいえ

最大結果数(デフォルト: 10)

memory_update

IDを指定して記憶の内容やカテゴリを更新します。

パラメータ

必須

説明

id

number

はい

記憶ID

fact

string

いいえ

新しい内容(省略時は現在を維持)

category

string

いいえ

新しいカテゴリ(省略時は現在を維持)

memory_list

保存されたすべての記憶をカテゴリ別に一覧表示します。

パラメータ

必須

説明

category

string

いいえ

カテゴリでフィルタリング

limit

number

いいえ

最大結果数(デフォルト: 50)

memory_delete

IDを指定して記憶を削除します。

パラメータ

必須

説明

id

number

はい

記憶ID

リソース

memory://context

重要度スコアでランク付けされた上位30件の事実を公開するMCPリソース:

  • アクセス頻度 — 頻繁にアクセスされる事実はスコアが高い(最大20ポイント)

  • 直近性 — 最近更新された事実はスコアが高い(10ポイント、90日間で減衰)

  • カテゴリの重み — preference/decision (3), workflow/technical (2), project/personal (1), general (0)

仕組み

検索パイプライン

  1. FTS5 + BM25セマンティックベクトル類似度 を並行して実行

  2. 結果を Reciprocal Rank Fusion (k=60) を使用して統合・重複排除

  3. 両方のリストに現れる事実は自然にブーストされる

  4. 両方とも空の場合は、LIKE 部分一致検索にフォールバック

  5. 検索ヒットごとにアクセス回数が追跡される

埋め込み(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

-
security - not tested
A
license - permissive license
-
quality - not tested

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