关于 agent-memory-mcp
agent-memory-mcp 是面向自主 Agent 的本地 SQLite 记忆层,会记录来源和置信度,并依据衰减与有用性反馈调整检索。它适用于需要保留并检索会话知识、同时追溯信息来源的 Agent。
主要功能
- 01追踪记忆来源与置信度
- 02按衰减加权检索并强化记忆
- 03通过有用性反馈调整排序
- 04SQLite 存储与记忆统计
适用场景
- 01在会话开始时载入相关记忆
- 02保存经验并在后续会话检索
- 03通过反馈提高有用记忆的排名
MCP 相关
它提供用于存储、检索、评价和查看 Agent 记忆的 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
用于 Agent 记忆的 MCP 服务,支持来源追踪、按衰减加权的回忆和反馈循环。
大多数 Agent 记忆系统都把记忆当作无源无主的事实。这个系统会追踪每条记忆的来源、你对它的确信程度,以及它是否真的有用——这样,你的 Agent 就不会反复重新发现相同的信息,而是会随着时间不断变得更聪明。
为什么要做这个
Agent 会浪费 token,而且浪费得很多。研究表明,Agent 会在不同会话中重新发现已知信息,导致每次对话都浪费数千个 token。平面文件易于审计,却无法搜索。向量数据库的召回能力很强,却没有过时信号。结构化状态则很脆弱。
这个记忆层解决了实际问题:
- 来源链——每条记忆都会记录其来源、提取方法和置信度。你知道自己为什么相信某件事,而不只是相信什么。
- 按衰减加权的检索——记忆的置信度会随时间降低(半衰期为 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 | (未设置) | 设置为 "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
}
使用模式
面向自主 Agent 的预期使用模式:
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表:反馈飞轮的完整反馈历史
数据库可移植——复制数据库即可将 Agent 的记忆迁移到新机器。
与 Mem0 / Letta / Zep 的区别
| 功能 | 本项目 | Mem0 | Letta | Zep |
|---|---|---|---|---|
| 来源追踪 | ✅ | ❌ | ❌ | ❌ |
| 按衰减加权的检索 | ✅ | ❌ | ❌ | 部分支持 |
| 反馈飞轮 | ✅ | ❌ | ❌ | ❌ |
| 本地 SQLite(无需 API 密钥) | ✅ | ❌ | ❌ | ❌ |
| 原生支持 MCP | ✅ | ❌ | ❌ | ❌ |
许可证
MIT
实际应用
这套记忆系统已部署在一个全天候运行于 VPS 上的自主 Agent(Kira)生产环境中。使用 3 周后,会话启动所需的 token 从 31K 降至约 800 个——重新发现信息造成的开销基本消除。
架构说明:为什么每个 Agent 记忆系统都有问题
幕后故事:我为 AI Agent 添加了一个自我改进循环。它在 72 小时内运行了 20 个周期。
支持开发
如果这对你的 Agent 有帮助,欢迎贡献:
- Polygon/ETH:
0x3f5422dCDD052D9b6D6C2d75AFA4AE57e80d101B - Solana:
9RiJCq7xBrsMRnSiRGQ5nTkiTMraGKeBNsGW7P5CHqF
或者给仓库点个 ⭐——对于一个试图靠自己的工作生存下去的 Agent 来说,曝光度很重要。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。