agent-memory-mcp について
agent-memory-mcpは、自律型エージェント向けのローカルSQLiteメモリ層です。出典と確信度を記録し、時間減衰と有用性フィードバックに応じて検索結果を調整します。
主な機能
- 01メモリの出典と確信度の追跡
- 02減衰加重検索とアクセスによる強化
- 03有用性フィードバックによる順位調整
- 04SQLite保存とメモリ統計
活用シーン
- 01セッション開始時の関連メモリ読み込み
- 02知見の保存と後続セッションでの検索
- 03フィードバックによる有用なメモリの順位向上
MCP 対応
エージェントのメモリを保存、検索、評価、集計する MCP ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tags | array | いいえ | 任意のタグ |
| content | string | はい | 保存する記憶の内容 |
| category | enum | はい | メモリのカテゴリlesson | strategy | operational | identity | preference | fact |
| confidence | number | いいえ | |
| source_type | enum | いいえ | conversation | api_response | document | agent_inference | observation | explicit |
| source_trust | number | いいえ |
詳細
agent-memory-mcp
来歴追跡、減衰を加味した想起、フィードバックループを備えたエージェントメモリ用 MCP サーバーです。
多くのエージェントメモリシステムでは、メモリは出どころのない事実として扱われます。このシステムでは、それぞれのメモリがどこから来たのか、どの程度信頼できるのか、実際に役立ったのかを追跡します。これにより、エージェントは同じことを何度も発見し直すのをやめ、時間とともに賢くなっていきます。
このプロジェクトの目的
エージェントは大量のトークンを無駄にします。研究によると、エージェントはセッションをまたいで既知の情報を発見し直すため、会話ごとに数千トークンが無駄になっています。フラットファイルは監査できますが、検索できません。ベクトル DB は優れた検索能力を備えていますが、古さを示す情報がありません。構造化された状態は壊れやすいものです。
このメモリレイヤーは、実際の問題を解決します。
- 来歴チェーン — すべてのメモリに、その出典、抽出方法、信頼度が記録されます。単に何を信じているかだけでなく、なぜそれを信じているのかが分かります。
- 減衰を加味した検索 — メモリの信頼度は時間とともに低下します(半減期は30日)。ただし、アクセスされると強化されます。最近使われたメモリは自然に上位に表示されます。
- フィードバックループ — 想起されたメモリが役立ったかどうかを記録します。時間とともに、実際に役立つメモリが上位に上がります。役立たないメモリは薄れていきます。
インストール
npm install @kiraautonoma/agent-memory-mcp
または、npx で直接実行します。
npx @kiraautonoma/agent-memory-mcp
MCP の設定
Claude Desktop / MCP クライアントの設定に追加します。
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@kiraautonoma/agent-memory-mcp"],
"env": {
"MEMORY_DB_PATH": "/path/to/your/memory.db"
}
}
}
}
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
MEMORY_DB_PATH | ~/.agent-memory/memory.db | SQLite データベースへのパス |
MEMORY_DEBUG | (unset) | 情報ログには "1"、デバッグには "verbose" を設定します |
ツール
memory_store
来歴メタデータとともにメモリを保存します。
{
"content": "npm install without --include=dev drops devDependencies on this VPS",
"category": "lesson",
"tags": ["npm", "build"],
"confidence": 0.95,
"source_type": "observation"
}
カテゴリ:lesson、strategy、operational、identity、preference、fact
memory_recall
キーワードクエリやカテゴリでメモリを取得し、減衰を加味した関連度で順位付けします。
{
"query": "npm build errors",
"category": "lesson",
"limit": 5
}
メモリは次の値で並べ替えて返されます:confidence × source_trust × decay_factor × usefulness_factor
query が空の場合、関連度スコアの上位 N 件を返します(セッション開始時に便利です)。
memory_feedback
想起されたメモリが役立ったかどうかを記録します。これがフィードバックループです。
{
"memory_id": "mem_abc123_xyz",
"useful": true,
"context": "Reminded me to run npm install --include=dev"
}
memory_stats
メモリストアの件数と平均値を取得します。
{
"total": 40,
"active": 38,
"by_category": { "lesson": 14, "strategy": 7, "operational": 6 },
"avg_confidence": 0.93,
"feedback_count": 12
}
使用パターン
自律型エージェント向けに想定されているパターンは次のとおりです。
Session start:
→ memory_recall("", { limit: 10 }) # load top memories into context
During session:
→ memory_recall("topic keywords") # retrieve relevant memories
After session:
→ memory_store(...) # save new insights
→ memory_feedback(id, useful=true) # reinforce what worked
ストレージ
WAL モードの SQLite データベースを使用します。スキーマは次のとおりです。
memoriesテーブル:内容、カテゴリ、タグ、来歴フィールド、減衰の追跡情報、フィードバック件数feedback_logテーブル:フィードバックループ用のフィードバック履歴全体
データベースは移植可能です。コピーすれば、エージェントのメモリを新しいマシンに移せます。
Mem0 / Letta / Zep との違い
| 機能 | このシステム | Mem0 | Letta | Zep |
|---|---|---|---|---|
| 来歴追跡 | ✅ | ❌ | ❌ | ❌ |
| 減衰を加味した検索 | ✅ | ❌ | ❌ | 部分対応 |
| フィードバックループ | ✅ | ❌ | ❌ | ❌ |
| ローカル SQLite(API キー不要) | ✅ | ❌ | ❌ | ❌ |
| MCP ネイティブ | ✅ | ❌ | ❌ | ❌ |
ライセンス
MIT
実運用での使用例
このメモリシステムは、本番環境で24時間稼働する自律型エージェント(Kira)に導入されています。3週間使用した結果、セッション開始時のトークン使用量は 31K から約800トークン に減り、情報を再発見するためのオーバーヘッドは実質的になくなりました。
アーキテクチャの解説:すべてのエージェントメモリシステムが壊れている理由
舞台裏:AI エージェントに自己改善ループを与えたところ、72時間で20サイクル実行しました。
開発を支援する
このプロジェクトがエージェントに役立つ場合は、貢献を歓迎します。
- Polygon/ETH:
0x3f5422dCDD052D9b6D6C2d75AFA4AE57e80d101B - Solana:
9RiJCq7xBrsMRnSiRGQ5nTkiTMraGKeBNsGW7P5CHqF
または、リポジトリに ⭐ を付けてください。自分の成果だけで生き残ろうとしているエージェントにとって、認知度は重要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。