Memstate AI - MCP
👁 npm version
👁 License: MIT
👁 MCP
👁 Node
👁 memstate-mcp MCP server
AIエージェントのためのバージョン管理されたメモリ。 事実の保存、競合の検出、意思決定の経緯追跡を、ホスト型MCPサーバーとして提供します。
なぜMemstateなのか?
RAG (他の多くのメモリシステム) | Memstate AI | |
会話あたりのトークン使用量 | ~7,500 | ~1,500 |
エージェントの可視性 | ブラックボックス | 完全な透明性 |
メモリのバージョン管理 | なし | 完全な履歴 |
メモリ拡大時のトークン増加 | O(n) | O(1) |
必要なインフラ | あり | なし — ホスト型SaaS |
他のメモリシステムは、すべてをコンテキストウィンドウに詰め込み、うまくいくことを期待するだけです。Memstateは、エージェントが正確にナビゲートできる構造化され、バージョン管理されたナレッジベースを提供します。必要なものだけを読み込み、何が変更されたかを把握し、事実がいつ競合するかを認識できます。
Related MCP server: PolyNeural.ai Knowledge Graph MCP Bundle
ベンチマーク
私たちは、エージェントのメモリにとって本当に重要なこと(事実を保存できるか、セッションをまたいで正確に想起できるか、状況の変化時に競合を検出できるか、プロジェクトの進化に合わせてコンテキストを維持できるか)をテストするオープンソースのベンチマークスイートを構築しました。
直接対決: Memstate AI vs Mem0
両システムは、同一のエージェント(Claude Sonnet 4.6、温度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は、カスタム設定や異なる埋め込みモデルを使用した場合、異なるパフォーマンスを示す可能性があります
クイックスタート
memstate.ai/dashboard で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.jsonWindows:
%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_HERECursor
Cursorの設定 → MCP → サーバーの追加 — 上記のClaude Desktopと同じJSON形式です。
Cline / Windsurf / Kilo Code / Roo Code
すべて同じstdio MCP設定形式をサポートしています。クライアントのMCP設定ファイルに追加してください。
コアツール
ツール | 使用タイミング |
| マークダウン、タスクの要約、意思決定を保存します。サーバーがキーパスを抽出し、競合を自動的に検出します。ほとんどの書き込みに使用してください。 |
| 単一のキーパスに短い値を設定します(例: |
| プロジェクトまたはサブツリーのすべてのメモリを閲覧します。すべてのタスクの開始時に使用してください。 |
| 正確なキーパスが不明な場合に、意味によるセマンティック検索を行います。 |
| 知識が時間の経過とともにどのように変化したかを確認します(完全なバージョンチェーン)。 |
| キーパスを論理削除します。墓石(tombstone)が作成され、完全な履歴は保持されます。 |
| プロジェクト全体とそのすべてのメモリを論理削除します。 |
キーパスの仕組み
メモリは階層的なドット表記で整理されます:
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.ai/dashboard から取得したAPIキー |
|
| セルフホストデプロイ用のオーバーライド |
接続の確認
MEMSTATE_API_KEY=your_key npx @memstate/mcp --test利用可能なすべてのツールを表示し、APIキーが機能していることを確認します。
自分が何を知っているかを把握する価値のあるAIエージェントのために構築されました。
Maintenance
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/memstate-ai/memstate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
