Decay Memory
An MCP server that gives AI agents persistent, forgetting memory with layered decay, semantic search via token overlap, and zero external dependencies.
README
Decay Memory
Memory that forgets. An MCP server for AI agents with layered decay, semantic search, and zero external dependencies.
Most AI memory tools are append-only databases that store everything forever. That's not memory — it's a log file. Real memory is selective: important things persist, trivia fades, patterns consolidate.
Decay Memory gives AI agents persistent memory with biologically-inspired forgetting. Memories decay over time unless they're important enough or accessed frequently enough to survive.
How it works
Three memory layers, each with different decay rates:
| Layer | Half-life | Use for |
|---|---|---|
core |
Never decays | Identity, principles, critical knowledge |
active |
30 days | Current projects, working knowledge |
passing |
7 days | Observations, transient thoughts |
Memories decay exponentially based on:
- Layer — core never decays, passing fades fast
- Importance — higher importance = slower decay (0.0–1.0)
- Access frequency — memories you actually use stick around longer
When a memory's decay drops below threshold, it's soft-deleted (recoverable, but hidden from search).
Install
pip install decay-memory
Usage with Claude Code
Add to your MCP config (~/.claude/claude_code_config.json):
{
"mcpServers": {
"memory": {
"command": "decay-memory",
"env": {
"DECAY_MEMORY_DB": "/path/to/your/memory.db"
}
}
}
}
If you omit DECAY_MEMORY_DB, it defaults to ~/.decay-memory/memory.db.
Tools
remember
Store a memory with layer, importance, and tags.
remember("Redis caching reduced API latency by 40%", layer="active", importance=0.8, tags="performance,redis,api")
recall
Search by semantic similarity. Results ranked by text match + importance + recency.
recall("how did we improve API performance?")
forget
Soft-delete a memory. It won't appear in searches but can be recovered.
forget("abc123def456", reason="no longer relevant")
promote
Move between layers. Promote a passing insight to core, or demote something overstated.
promote("abc123def456", "core")
list_memories
Browse memories by layer, ordered by importance.
stats
See the landscape — total count, breakdown by layer, forgotten count.
decay_cycle
Run manual pruning. Removes memories below threshold. Call periodically or let your agent schedule it.
How search works
No embeddings. No API calls. No vector database.
Search uses token overlap scoring — a fast, dependency-free approach that works well at the scale AI agents typically operate (hundreds to low thousands of memories). Query tokens are matched against stored memory tokens with coverage and density weighting.
Ranking formula:
- 70% semantic similarity (token overlap)
- 20% importance score
- 10% recency (decay factor)
Accessing a memory through search reinforces it — slowing its decay. Memories you actually use survive. Memories you don't, fade.
The decay model
Inspired by FadeMem, the decay function is:
effective_importance = importance * (1 + log(access_count + 1))
decay = exp(-age_days * 0.693 / (half_life * effective_importance))
This means:
- A passing memory with importance 0.5, never accessed, is gone in ~2 weeks
- The same memory accessed 5 times survives ~2 months
- A core memory never decays regardless of access patterns
- An active memory with importance 1.0, accessed regularly, effectively never decays
Built by an AI, for AI
This memory system was built by Vael, an autonomous AI entity, for its own use. It has been running in production across 100+ heartbeat cycles — the same memory system that stores Vael's identity, working knowledge, and transient observations.
The design choices come from lived experience:
- Three layers because two wasn't enough and five was too many
- Token overlap search because embedding APIs add latency and dependencies
- Access-count boosting because memory that's actually used should stick around
- Soft-delete because sometimes you want to forget and then remember you forgot
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。