Skip to main content
Glama

完全なドキュメント -- ガイド、ツールリファレンス、アーキテクチャ、メンテナンスについては cachorro.space を参照してください。

mcp-memory

AnthropicのMCP Memoryサーバードロップイン代替品です。SQLiteによる永続化、ベクトル埋め込み、セマンティック検索、および動的ランキングのためのLimbic Scoringを備えています。

なぜこれが必要なのか? 元のサーバーは、操作のたびにナレッジグラフ全体をJSONLファイルに書き込みますが、ロックやアトミックな書き込みが行われません。同時アクセス(複数のMCPクライアント)が発生すると、データ破損の原因となります。このサーバーは、それを適切なSQLiteデータベースに置き換えます。

特徴

  • Anthropicの8つのMCPツールとドロップイン互換(同じAPI、同じ動作)

  • SQLite + WAL -- 安全な同時アクセス、JSONLの破損を解消

  • セマンティック検索 -- sqlite-vec + ONNX埋め込み(94以上の言語)

  • ハイブリッド検索 (FTS5 + KNN) -- 全文検索BM25とセマンティックベクトル検索をReciprocal Rank Fusionで統合。正確な用語または意味的な類似性、あるいはその両方でエンティティを検索可能。

  • Limbic Scoring -- 顕著性、時間的減衰、共起シグナル、ハイブリッド検索スコアを用いた動的再ランキング。APIに対して透過的。

  • セマンティック重複排除 -- コサイン類似度が0.85以上の場合、新しい観測データに自動的に similarity_flag を付与(非対称なテキスト長に対する包含スコアリング付き)

  • 統合レポート -- 分割候補、フラグ付き観測データ、古いエンティティ、大きなエンティティの読み取り専用ヘルスチェック

  • 改善された時間的減衰 -- entity_access_log による追跡と ALPHA_CONS=0.2 の複数日統合シグナル

  • 包含修正 -- 重複排除スコアリングにおける非対称なテキスト長(比率 >= 2.0)の適切な処理

  • 観測の種類 -- 観測データのセマンティック分類(hallazgo、decision、estado、spec、metrica、metadata、generic)

  • 観測の置換 -- 明示的な置換チェーン:新しい観測データが古いものを置換可能(古いものには置換済みタイムスタンプが付与される)

  • エンティティステータス -- ライフサイクル追跡:activo、pausado、completado、archivado(ステータスを考慮した検索デブースト付き)

  • 関係のコンテキストと有効期限 -- 関係にはオプションのコンテキスト、active/ended_at フィールドがあり、時間的な有効性を保持

  • 自動逆関係 -- contains/parte_de ペアを自動作成

  • リフレクション(振り返り) -- 独立したナラティブ層:エンティティ、セッション、関係、グローバルに付随する自由形式の文章。作成者と気分のメタデータ付き。セマンティック + FTS5ハイブリッド検索で検索可能

  • 軽量 -- 同様のソリューションが約1.4 GBであるのに対し、合計約500 MB

  • 移行 -- AnthropicのJSONL形式からワンクリックでインポート

  • ゼロコンフィグ -- 箱から出してすぐに動作。セマンティック検索用のモデルダウンロードはオプション

クイックスタート

1. MCP設定に追加

{
  "mcpServers": {
    "memory": {
      "command": ["uvx", "--from", "git+https://github.com/Yarlan1503/mcp-memory", "mcp-memory"]
    }
  }
}

または、クローンしてローカルで実行:

{
  "mcpServers": {
    "memory": {
      "command": ["uv", "run", "--directory", "/path/to/mcp-memory", "mcp-memory"]
    }
  }
}

2. セマンティック検索を有効にする(オプション)

cd /path/to/mcp-memory
uv run python scripts/download_model.py

これにより、多言語文モデル(約465 MB)が ~/.cache/mcp-memory-v2/models/ にダウンロードされます。これがない場合でもすべてのツールは動作しますが、search_semantic は利用できません。

3. 既存データの移行(オプション)

Anthropic MCP MemoryのJSONLファイルがある場合は、migrate ツールを使用するか、直接呼び出してください:

uv run python -c "
from mcp_memory.storage import MemoryStore
from mcp_memory.migrate import migrate_jsonl
store = MemoryStore()
store.init_db()
result = migrate_jsonl(store, '~/.config/opencode/mcp-memory.jsonl')
print(result)
"

MCPツール

コア(Anthropic互換)

ツール

説明

create_entities

エンティティの作成または更新(競合時は観測データをマージ)。status フィールドを受け付けます。

create_relations

エンティティ間の型付き関係を作成。context を受け付け、定義された逆関係を自動作成します。

add_observations

既存のエンティティに観測データを追加。セマンティック分類と明示的な置換のための kind および supersedes パラメータを受け付けます。

delete_entities

エンティティとそのすべての関係/観測データを削除

delete_observations

エンティティから特定の観測データを削除

delete_relations

エンティティ間の特定の関係を削除

search_nodes

部分文字列で検索(名前、型、観測内容)

open_nodes

名前でエンティティを取得。kinds フィルタ、include_superseded フラグを受け付けます。リフレクションと関係メタデータ(context, active, ended_at)を返します。

検索と分析

ツール

説明

search_semantic

Limbic Scoring 再ランキングを用いたベクトル埋め込みによるセマンティック検索

find_duplicate_observations

エンティティ内のセマンティックに重複する観測データを見つける(コサイン + 包含)

consolidation_report

読み取り専用の統合レポートを生成(分割候補、フラグ付き観測データ、古いエンティティ)

エンティティ管理

ツール

説明

migrate

AnthropicのJSONL形式からインポート(冪等)

analyze_entity_split

エンティティの分割が必要か分析(TF-IDFトピックグループ化)

propose_entity_split_tool

推奨されるエンティティ名と関係を含む分割を提案

execute_entity_split_tool

承認された分割を実行(アトミックトランザクション)

find_split_candidates

分割が必要なすべてのエンティティを見つける

リフレクション(振り返り)

ツール

説明

add_reflection

エンティティ、セッション、関係、またはグローバルにナラティブなリフレクションを追加。作成者、内容、気分を受け付けます。

search_reflections

セマンティック + FTS5ハイブリッド(RRF)でリフレクションを検索。オプションのフィルタ:作成者、気分、target_type。

エンティティタイプ

8つの標準タイプ:

タイプ

目的

Proyecto

長期プロジェクト

Sesion

作業セッション

Sistema

システムおよびツール

Decision

アーキテクチャ/技術的決定

Evento

時間制限のあるイベント

Persona

人物

Recurso

外部リソース

Generic

デフォルトのフォールバック

観測の種類

観測データのセマンティック分類:

種類

目的

hallazgo

発見事項

decision

下された決定

estado

状態/ステータスのスナップショット

spec

仕様および要件

metrica

定量的測定

metadata

システム生成メタデータ

generic

デフォルト(分類なし)

関係タイプ

4つのカテゴリ:

カテゴリ

タイプ

構造的

contiene / parte_de

プロジェクトはセッションを含む

生成的

producido_por, contribuye_a

セッションは決定を生む

依存関係

depende_de, usa

プロジェクトはシステムに依存する

継承

continua, sucedido_por

セッションはセッションを継続する

contiene/parte_de ペアについては、逆関係が自動作成されます。

アーキテクチャ

server.py (FastMCP)  <--  storage.py (SQLite + sqlite-vec + FTS5)
                               |
                         embeddings.py (ONNX Runtime)
                               |
                         sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
                         (384d, multilingual, cosine similarity)
                               |
                         scoring.py (Limbic Scoring + RRF)
                         salience . temporal decay . co-occurrence
  • ストレージ: WALジャーナリング付きSQLite、5秒のビジータイムアウト、CASCADE削除

  • 埋め込み: 起動時に一度ロードされるシングルトンONNXモデル、L2正規化コサイン検索

  • Limbic Scoring: 重要度シグナル、時間的減衰、共起パターン、RRFスコアを使用してハイブリッド(KNN + FTS5)候補を再ランキング -- APIに対して透過的

  • 同時実行: SQLiteが内部的にロックを処理 -- fcntlやファイルシステム競合なし

  • リフレクション: ナラティブ層のための並列FTS5 (reflection_fts) およびベクトル (reflection_embeddings) インデックス。同じRRFハイブリッドパイプラインで検索

仕組み

各エンティティは、Head+Tail+Diversity選択戦略(予算:480トークン)を使用してテキストから生成された埋め込みベクトルを持ちます:

"{name} ({entity_type}) | {obs1} | {obs2} | ... | Rel: type -> target; ..."

search_semantic を呼び出すと、パイプラインが並列で実行されます:

  1. セマンティック (KNN) -- クエリがエンコードされ、sqlite-vec を介してエンティティベクトルと比較されます

  2. 全文検索 (FTS5) -- クエリが名前、型、観測内容をカバーするBM25インデックスに対して検索されます

  3. マージ (RRF) -- 両方のブランチの結果が Reciprocal Rank Fusion (score(d) = Sum 1/(k + rank)) を使用して結合されます

マージされた候補は、Limbic Scoringエンジンによって再ランキングされます。これは以下を考慮します:

  • 顕著性 -- 頻繁にアクセスされ、よく接続されているエンティティほど高くランク付けされます

  • 時間的減衰 -- 最近使用されたエンティティは新鮮さを保ち、触れられていないエンティティはフェードアウトします

  • 共起 -- 一緒に現れることが多いエンティティは互いを強化します

出力には limbic_scorescoring(重要度/時間的/共起の内訳)、およびFTS5が結果に寄与した場合はオプションで rrf_score が含まれます。

技術的な詳細については、DOCUMENTATION.md を参照してください。スコアリング式、RRF定数、スキーマDDL、アーキテクチャ図が含まれています。

テスト

uv run pytest tests/ -v

15個のテストファイルにわたる285以上のテストが、すべてのツール、埋め込み、スコアリング、エッジケースをカバーしています。リグレッションはゼロです。

要件

  • Python >= 3.12

  • uv (パッケージマネージャー)

依存関係

パッケージ

目的

fastmcp

MCPサーバーフレームワーク

pydantic

リクエスト/レスポンス検証

sqlite-vec

SQLiteでのベクトル類似性検索

onnxruntime

ONNXモデル推論 (CPU)

tokenizers

HuggingFace高速トークナイザー

numpy

ベクトル演算

huggingface-hub

モデルダウンロード

ライセンス

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/Yarlan1503/mcp-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server