Memstate AI - Git for Agent Memory について
Memstate AIは、AIエージェント向けのホスト型バージョン管理メモリーサービスです。事実を構造化されたキーパスで保存し、履歴を保持します。MCPサーバーを通じて矛盾の検出と検索を行え、インフラの運用は不要です。
主な機能
- 01テキストやMarkdownからキーパスを抽出
- 02矛盾する事実を検出
- 03完全なバージョン履歴を保持
- 04プロジェクトのメモリーを閲覧・検索
- 05履歴を残してメモリーをソフト削除
活用シーン
- 01エージェントのセッション間でプロジェクトの決定事項を引き継ぐ
- 02アーキテクチャや設定の変更を追跡
- 03プロジェクト内の矛盾する事実を検索・確認
MCP 対応
MCPサーバーは、プロジェクトのメモリーを保存、取得、検索し、履歴確認やソフト削除を行うツールを公開します。利用には`MEMSTATE_API_KEY`を設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Memstate AI - MCP
AI エージェントのためのバージョン管理されたメモリです。 事実を保存し、矛盾を検出し、意思決定が時間とともにどのように変化したかを追跡できます。ホスト型 MCP サーバーとして提供されます。
Memstate を選ぶ理由
| RAG(他のほとんどのメモリシステム) | Memstate AI | |
|---|---|---|
| 会話あたりのトークン使用量 | ~7,500 | ~1,500 |
| エージェントの可視性 | ブラックボックス | 完全な透明性 |
| メモリのバージョン管理 | なし | 完全な履歴 |
| メモリの増加に伴うトークン数の増加 | O(n) | O(1) |
| 必要なインフラストラクチャ | はい | 不要 — ホスト型 SaaS |
他のメモリシステムはすべてをコンテキストウィンドウに詰め込み、うまくいくことを期待します。Memstate は、エージェントが正確にたどれる構造化され、バージョン管理されたナレッジベースを提供します。必要なものだけを読み込み、何が変わったかを把握し、事実が矛盾するタイミングを知ることができます。
ベンチマーク
エージェントメモリで実際に重要な点を検証するオープンソースのベンチマークスイートを構築しました。システムが事実を保存し、セッションをまたいで正確に想起し、状況の変化に応じて矛盾を検出し、プロジェクトの進展に合わせてコンテキストを維持できるかをテストします。
直接比較:Memstate AI と Mem0
両システムを、同じエージェント(Claude Sonnet 4.6、temperature 0)、同じシナリオ、同じ採点基準を用いて、同一条件下でテストしました。
| 指標 | Memstate AI | Mem0 | 勝者 |
|---|---|---|---|
| 総合スコア | 69.1 | 15.4 | Memstate |
| 正確性(事実の想起) | 74.1 | 12.6 | Memstate |
| 矛盾の検出 | 85.5 | 19.0 | Memstate |
| コンテキストの継続性 | 63.7 | 10.1 | Memstate |
| トークン効率 | 22.3 | 30.6 | Mem0 |
配点:正確性 40%、矛盾の検出 25%、コンテキストの継続性 25%、トークン効率 10%。
シナリオ別の内訳
このベンチマークでは、複数セッションにわたるエージェントのワークフローを再現する、現実世界の5つのシナリオを実行します。
| シナリオ | Memstate AI | Mem0 |
|---|---|---|
| Web アプリケーションのアーキテクチャの進化 | 43.2 | 55.6 |
| 認証システムの移行 | 66.2 | 10.2 |
| データベーススキーマの進化 | 72.7 | 7.0 |
| API のバージョン管理における矛盾 | 86.5 | 0.9 |
| チームの意思決定の撤回 | 77.2 | 3.3 |
Mem0 は最初のシナリオ(単純なアーキテクチャの追跡)では勝利しましたが、矛盾の処理、セッションをまたぐコンテキスト、意思決定の撤回の追跡が必要なシナリオでは大きく苦戦し、5つのうち3つのシナリオでほぼゼロのスコアとなりました。
Memstate が優れている理由
ベンチマークでは、根本的なアーキテクチャの違いが明らかになりました。
Mem0 は埋め込みベースのセマンティック検索を使用します。 ファクトはチャンクに分割され、埋め込まれ、類似度に基づいて取得されます。単純な検索には有効ですが、次のような場合にはうまく機能しません。
- ファクトが以前のファクトと矛盾する場合(システムが最新の情報と古い情報を区別できません)
- 正確な想起が必要な場合(埋め込みは完全一致ではなく、「類似した」結果を返します)
- 書き込みから読み取りまでのレイテンシーが重要な場合(新しい記憶が検索可能になるまで数秒かかります)
Memstate は、構造化されたバージョン管理付きのキー・バリュー・ストレージを使用します。 すべてのファクトは、完全なバージョン履歴を持つ明示的なキーパスに保存されます。これにより、次のことが可能になります。
- 競合検出が組み込まれています — 新しいファクトが古いファクトと矛盾すると、システムはそれを認識し、両方のバージョンを保持します
- 想起は決定論的です — 近似一致ではなく、保存された内容がそのまま返されます
- セッションをまたいだ継続性が確実です — エージェントは、セマンティック検索で適切なコンテキストが見つかることを期待するのではなく、構造化されたツリーをたどります
- トークンコストは O(1) のままです — 関連する可能性のある埋め込みをすべてコンテキストウィンドウに詰め込むのではなく、まず要約を読み込み、必要な場合にだけ詳細を確認します
公平性に関する注記
- 両システムで、同じエージェントモデル、温度、評価基準を使用しました
- Mem0 には、非同期の埋め込みパイプラインを考慮し、書き込みから読み取りまでに 10 秒の取り込み遅延を設けました
- Mem0 はトークン効率で高いスコアを示していますが、この指標は文脈に照らして解釈する必要があります。トークン使用量が少ないのは、単に返される情報が少ないためかもしれません。不完全または不正確なファクトを取得するシステムは、応答あたりのトークン数が少なくても、追加の呼び出しが増え、最終的には同じ回答を得るためにより多くのトークンが必要になる可能性があります
- ベンチマークのソースコードは、完全な再現性を確保するため、このリポジトリに含まれています
- Mem0 は、カスタム設定や異なる埋め込みモデルを使用すると、異なるパフォーマンスを示す可能性があります
クイックスタート
こちらで API キーを取得し、MCP クライアントの設定に追加します。
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": {
"MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Docker もデータベースもインフラストラクチャも不要です。60 秒で実行できます。
クライアントの設定
Claude Desktop
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
}
}
}
Claude Code
claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE
Cursor
Cursor の「Settings」→「MCP」→「Add Server」で追加します。上記の Claude Desktop と同じ JSON 形式です。
Cline / Windsurf / Kilo Code / Roo Code
いずれも同じ stdio MCP 設定形式に対応しています。クライアントの MCP 設定ファイルに追加してください。
コアツール
| ツール | 使用する場面 |
|---|---|
memstate_remember | Markdown、タスクの要約、決定事項を保存します。サーバーがキーパスを抽出し、競合を自動的に検出します。ほとんどの書き込みに使用してください。 |
memstate_set | 1 つのキーパスに短い値を設定します(例:config.port = 8080)。文章の保存には使用しません。 |
memstate_get | プロジェクトまたはサブツリーのすべての記憶を参照します。すべてのタスクの開始時に使用してください。 |
memstate_search | 正確なキーパスがわからない場合に、意味に基づいてセマンティック検索します。 |
memstate_history | ナレッジが時間の経過とともにどのように変化したかを、完全なバージョン履歴で確認します。 |
memstate_delete | キーパスをソフト削除します。トゥームストーンが作成され、完全な履歴は保持されます。 |
memstate_delete_project | プロジェクト全体と、そのすべての記憶をソフト削除します。 |
キーパスの仕組み
記憶は階層的なドット表記で整理されます。
project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment
キーパスには自動的にプレフィックスが付与されます。project_id="my_app" のとき、keypath="database" は project.my_app.database になります。エージェントは必要な情報だけをたどれるため、コンテキスト全体を出力する必要はありません。
仕組み
Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
↓
Server extracts keypaths: [project.my_app.auth.provider, ...]
↓
Conflict detection: compare against existing memories at those keypaths
↓
New version stored — old version preserved in history chain
↓
Next session: memstate_get(project_id="my_app") → structured summaries only
↓
Agent drills into project.my_app.auth only when it needs auth details
記憶の総数にかかわらず、トークンコストは一定です。
エージェントの指示に追加する
AGENTS.md またはシステムプロンプトにコピーします。
## Memory (Memstate MCP)
### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning
### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")
### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
MEMSTATE_API_KEY | (必須) | memstate.ai/dashboard の API キー |
MEMSTATE_MCP_URL | https://mcp.memstate.ai | セルフホスト環境での上書き設定 |
接続を確認する
MEMSTATE_API_KEY=your_key npx @memstate/mcp --test
利用可能なすべてのツールを表示し、API キーが機能することを確認します。
自分の知識を把握する価値のある AI エージェントのために構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。