MindCore Memory MCP について
MindCore Memoryは、AIエージェント向けの永続メモリMCPサーバーです。BM25とFAISSのハイブリッド検索、重要度に応じた想起に加え、保存内容の評価、耐障害性、監視機能を備えています。
主な機能
- 01BM25とFAISSのハイブリッド検索
- 02重要度に応じたメモリ想起
- 03境界スコアリングと推論
- 04サーキットブレーカーとリトライ
- 05SLOトラッキングとPrometheusメトリクス
- 06保存時の任意暗号化
活用シーン
- 01エージェントのセッション間で文脈を保持
- 02クエリやタグでメモリを検索
- 03LLM向けコンテキストウィンドウの作成
- 04メモリサービスの稼働状況を監視
MCP 対応
MCPサーバーは、メモリの保存、想起、コンテキスト作成、更新、削除、統計のツールに加え、境界評価と推論のツールを提供します。stdioとHTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
本番環境に対応した MCP メモリーサーバー — AI エージェントのためのハイブリッド検索と耐障害性
サーキットブレーカー、SLO トラッキング、BM25+FAISS ハイブリッド検索を備えた唯一の MCP メモリーサーバーです。 AI エージェントはセッションをまたぐとすべてを忘れてしまいます。MindCore Memory は、永続的で検索可能な本番品質のメモリーを提供します。118/118 件のテストに合格し、CI/CD も完備しています。
⭐ このプロジェクトが AI の記憶を助けているなら、スターを付けていただけると大きな励みになります。
クイックスタート
# 1. Install
pip install mindcore-memory
# 2. Launch (stdio mode — works with any MCP client)
mindcore-memory
# 3. Your AI agent remembers across sessions
MCP クライアント設定(Claude Desktop / Cursor / Cline)
{
"mcpServers": {
"mindcore-memory": {
"command": "python",
"args": ["-m", "mindcore_memory.server"],
"env": { "MINDCORE_MEMORY_PATH": "~/.mindcore/memory" }
}
}
}
オプション:セマンティック検索
pip install mindcore-memory[semantic]
# Enables FAISS embeddings for hybrid BM25+semantic search
MindCore を選ぶ理由 — 競合製品との比較
| 機能 | MindCore Memory | Mem0 | SynaBun | Letta (MemGPT) |
|---|---|---|---|---|
| 検索 | BM25 + FAISS ハイブリッド | FAISS のみ | sqlite-vec のみ | FAISS のみ |
| サーキットブレーカー | ✅ 3 状態 | ❌ | ❌ | ❌ |
| リトライ(指数バックオフ) | ✅ | ❌ | ❌ | ❌ |
| SLO トラッキング | ✅ P95/P99 | ❌ | ❌ | ❌ |
| Prometheus メトリクス | ✅ /metrics | ❌ | ❌ | ❌ |
| 保存データの暗号化 | ✅ Fernet | ❌ | ❌ | ❌ |
| 重複排除 | ✅ 完全一致の統合 | ⚠️ 部分的 | ❌ | ❌ |
| IVF インデックス(500 件以上) | ✅ 自動切り替え | ❌ | ❌ | ❌ |
| ローカル優先 | ✅ 依存関係ゼロ | ✅(クラウドは任意) | ✅ | ❌(Docker が必要) |
| CI/CD パイプライン | ✅ 自動 → PyPI + MCP | ⚠️ 手動 | ❌ | ❌ |
| テスト | 118/118(100%) | 不明 | 不明 | 不明 |
| ライセンス | MIT | Apache 2.0 | Apache 2.0 | Apache 2.0 |
MindCore は、初日から本番環境のワークロード向けに設計された唯一の MCP メモリーサーバーです。 サーキットブレーカーが埋め込みサービスの障害から保護します。指数バックオフ付きリトライが一時的なエラーに対処します。SLO トラッキングにより、ユーザーが気づく前にアラートを受け取れます。監視スタック向けにメトリクスをエクスポートできます。他のすべてのサーバーは何も失敗しないことを前提としていますが、MindCore はそうではありません。
独自機能:3D 境界バランスアルゴリズム
MindCore は単なるメモリーストアではなく、認知境界エンジンです。保存されるすべてのメモリーは、**正反公式(Forward/Reverse Formula)**に基づく 4 次元のスコアリングシステムで自動評価されます。
BND_score = 0.28·TRJ(Trajectory) + 0.28·EVO(Evolution) + 0.28·COG(Cognition) + 0.16·BALANCE
- 順方向サイクル:TRJ → BND → EVO → COG → BND(各ステップで境界を定め、各境界が成長となります)
- 逆方向チェーン:カオス → 未知 → リスク → 危害 → 死(2 つ以上のトリガーが連鎖すると、スコアを自動的に 50% 減点します)
- 3D バランス:TRJ/EVO/COG 間のばらつきにより、偏ったメモリー(洞察のない純粋なデータの羅列)を減点します
- LLM 呼び出しなし:キーワードパターン、正規表現、統計的分散を用いた純粋なアルゴリズム評価です
from mindcore_memory import BNDManager
bnd = BNDManager()
result = bnd.evaluate("基于之前修复, 理解到根因, 改进后提升30%", importance=4)
# → TRJ:0.63 EVO:0.54 COG:0.61 BALANCE:0.98 BND:0.75 ACCEPTED
これを実現する MCP メモリーサーバーは他にありません。 BND は、メモリー保存を受動的なデータの羅列から能動的な認知フィルターへと変えます。ノイズを排除し、リスクの連鎖にフラグを付け、構造化された成長志向の知識だけがバージョンチェーンに入るようにします。
本番環境向け機能
レジリエンスレイヤー
- サーキットブレーカー:CLOSED → OPEN → HALF_OPEN のステートマシンです。FAISS/埋め込み処理を連鎖的な障害から保護します。
- リトライ:ジッターを加えた指数バックオフです。一時的なエラーは自動的にリトライし、恒久的なエラーは速やかに失敗します。
- 入力検証:インジェクション攻撃を防ぐため、サーバーレベルでサニタイズします。
可観測性レイヤー
- SLO トラッキング:6 つのすべての操作について、P95/P99 のレイテンシ目標を設定します。違反はログに記録され、エクスポートされます。
- Prometheus
/metrics:依存関係ゼロの Prometheus 互換コレクターです。あらゆる監視スタックにそのまま導入できます。
データレイヤー
- 暗号化:保存データの Fernet 暗号化をオプションで利用できます(
mindcore-memory[encrypt])。 - 重複排除:完全一致する場合は統合します。同一のメモリが重複して保存される代わりに、重要度/信頼度が更新されます。
- スマートな削除:重要度の低いメモリを削除し、ディスクにアトミックに同期します。ゾンビメモリは発生しません。
コアツール
メモリ(6 個のツール)
| ツール | 説明 | 主なパラメーター |
|---|---|---|
memory_store | メモリを保存します(BND を自動評価) | content、importance(1-4)、tags、confidence |
memory_recall | メモリを検索します(BM25+FAISS のハイブリッド検索) | query、tags、limit、session_id |
memory_context | LLM のコンテキストウィンドウを構築します | query、max_tokens、session_id |
memory_update_confidence | メモリの信頼度を調整します | memory_id、confidence |
memory_delete | メモリを削除します | memory_id |
memory_stats | システム統計を表示します | (引数なし) |
境界評価と推論(3 個のツール)🆕
| ツール | 説明 | 主なパラメーター |
|---|---|---|
bnd_check | 4D 境界評価(TRJ/EVO/COG/BALANCE + Anti-Chain) | content、importance、confidence、tags |
bnd_stats | BND マネージャーの統計:受け入れ率、スコア、Anti-Chain の発動数 | (引数なし) |
deduce | 認知的推論:高品質なメモリからパターンを抽出します | query、tags |
検索式:score = BM25(40%) + FAISS(50%) + importance(5%) + recency(5%)
FAISS の埋め込みを利用できない場合は、自動的に BM25 のみのキーワード検索に切り替わります。
アーキテクチャ
┌───────────────────┐ MCP JSON-RPC ┌────────────────────────────┐
│ AI Client │ ◄──────────────────► │ MindCore Memory │
│ (Claude/Cursor) │ stdio / HTTP │ MCP Server │
└───────────────────┘ └──────────┬─────────────────┘
│
┌──────────▼─────────────────┐
│ Memory Engine │
│ ┌──────────────────────┐ │
│ │ Hybrid Search │ │
│ │ BM25 (keyword) 40% │ │
│ │ FAISS (semantic)50%│ │
│ │ importance 5%│ │
│ │ recency 5%│ │
│ └──────────────────────┘ │
│ ┌──────────────────────┐ │
│ │ Resilience │ │
│ │ Circuit Breaker │ │
│ │ Retry + Backoff │ │
│ │ SLO Tracking │ │
│ └──────────────────────┘ │
└──────────┬─────────────────┘
│
┌──────────▼─────────────────┐
│ Storage │
│ JSONL (append) │
│ + FAISS index (IVF > 500) │
│ + Fernet encrypt (opt) │
└────────────────────────────┘
- 組み込み型:PostgreSQL、Redis、外部サービスは不要です。単一のバイナリと、ローカルの JSONL + FAISS で動作します。
- IVF インデックス:メモリが 500 件以上になると FAISS の転置ファイルインデックスが有効になり、O(√N) で検索できます。
- MCP ネイティブ:stdio と HTTP のトランスポートで、MCP プロトコルを完全にサポートします。
提供先
| プラットフォーム | 状態 | リンク |
|---|---|---|
| PyPI | v0.1.11 公開済み | mindcore-memory |
| MCP Registry | 登録済み | 表示 |
| Glama | 掲載済み | 表示 |
| MCP Market | 掲載済み | 表示 |
| MCP.so | 掲載済み | 表示 |
| LobeHub | 掲載済み | 表示 |
| mcpservers.org | 掲載済み | 表示 |
詳細な比較
アーキテクチャ、検索品質、レイテンシ、移行ガイドを含む 5 つのサーバーの詳細な比較については、docs/comparison.md をご覧ください。
コントリビューション
詳しいガイドは CONTRIBUTING.md をご覧ください。簡単に始めるには:
git clone https://github.com/woshilaohei/mindcore-memory-mcp.git
cd mindcore-memory-mcp
pip install -e ".[dev]"
pytest -v # 118 tests
ruff check . # linter
mypy mindcore_memory/ # type checker
ライセンス
MIT License — Copyright (c) 2025 Lao Hei
⭐ MindCore が AI の記憶に役立ったら、スターを付けてください! ⭐
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。