# memora

> Give your AI agents persistent memory.

- **URL**: https://www.freshcrate.ai/projects/memora
- **Author**: agentic-box
- **Category**: MCP Servers
- **Latest version**: `v0.2.29` (2026-05-27)
- **License**: MIT
- **Source**: https://github.com/agentic-box/memora
- **Language**: Python
- **GitHub**: 395 stars, 47 forks
- **Registry**: github
- **Tags**: `ai-agent`, `claude`, `knowledge-graph`, `llms`, `mcp`, `mcp-server`, `memory`, `python`, `rag`

## Description

Give your AI agents persistent memory.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.2.29` | 2026-05-27 | High | Changes since v0.2.28: - Add memory_digest MCP tool - Tighten memory_digest aggregation and filtering - Make memory_update metadata updates merge safely by default |
| `v0.2.28` | 2026-04-29 | High | ## Notable changes since v0.2.27  ### Fixes - **MCP schema sanitizer** (`memora/server.py`) — strips Pydantic-generated nullable `anyOf` combinators from tool input schemas before serving `tools/list`. Anthropic's tool validator rejected these, which 400'd the entire MCP handshake and made Claude Code disconnect the server. Reviewed end-to-end by an inter-agent bus loop (claude-B audit + codex review). 19 of 41 memora tools were affected; all clean after sanitize. - **Embedding fallback observab |
| `v0.2.27` | 2026-04-08 | High | ## What's New  ### Structured Document Storage - **`memory_store_document`** — Store markdown documents as a root memory + searchable typed fragments (claims, plan items, references, risks, section chunks) - **`memory_get_document`** — Retrieve documents by key with optional fragment type filtering - **`memory_delete_document`** — Cascade delete a document and all its fragments - **Structure-aware parser** (`document.py`) — splits by headings, tables, numbered lists, URL lists, and risk sections |
| `v0.2.26` | 2026-04-07 | Medium | ## What's New  ### memory_detect_supersessions — Retroactive supersession detection New MCP tool that scans existing memories for pairs where one updates/replaces another, then creates `supersedes` edges between them. Complements `memory_absorb` which only catches supersessions at write time.  - Neutral LLM classification with 6-way relation enum (a_supersedes_b, b_supersedes_a, duplicate, related, contradicts, neither) - Conservative defaults: `dry_run=True`, `min_confidence=0.75` - 30s rate li |
| `v0.2.25` | 2026-04-05 | Medium | ## Headline  **\`memory_create\` / \`memory_update\` drop from 10s+ to ~2s per call on the D1 backend — 5× faster.**  Three independent fixes, all landing together:  - **Cached \`ensure_schema()\` per backend instance** — previously ran 7–9 D1 round-trips on *every* MCP tool call (~4–8s wasted each). Now runs once per backend per process. [\`memora/schema.py\`] - **Single paginated LEFT JOIN for crossref/vector scan** — replaces the old \`list_memories(...) + _get_embeddings_for_ids(...)\` two-s |
| `v0.2.24` | 2026-03-16 | Low | ## Security Hardening Release  Comprehensive security audit and fixes across critical, high, and medium severity findings.  ### R2 Proxy Lockdown - `images/` prefix restriction on both cloud and local proxies - Path traversal (`..`) blocking - Image extension allowlist + Content-Type validation from R2 metadata  ### MCP Tool Rate Limiting - Single-flight + cooldown on 7 expensive operations (rebuild, export, import, insights, duplicates, migrate) - Prevents resource exhaustion via repeated calls |
| `v0.2.23` | 2026-03-13 | Low | ## Changes  - **Chat embeddings**: Compute embeddings on memory create/update via chat UI, ensuring new memories appear in semantic search immediately - **Robust search**: Run semantic + keyword search in parallel with isolated error handling; recent memories fallback preserved - **UI improvements**: Pencil edit icon, hide complex metadata section by default - **Sync**: `sync-to-d1.py` now syncs `memories_embeddings` table with transaction wrapping - **Query rewriting**: Add RAG query rewriting |
| `v0.2.22` | 2026-02-19 | Low | ## What's Changed  - **Fix focused node centering** — nodes no longer appear shifted left when the detail panel opens - **Memora favicon** — tab icon now uses the memora logo - **Wider detail panel** — default width increased from 450px to 560px - **Scrubbed private data** — removed hardcoded Cloudflare DB IDs from example scripts |
| `v0.2.20` | 2026-02-05 | Low | ## What's New  - **Favorite star toggle** — Click ☆/★ on any memory in the timeline to mark it as a favorite, persisted in metadata - **Favorites filter** — Filter timeline to show only favorited memories - **Action history tab** — New History tab showing create/update/delete/boost/link/merge actions with grouping - **Disable auto memory** — CLAUDE.md now directs all memory operations through Memora MCP tools  ### Details - PATCH endpoints for favorite toggle on both local server and D1 Pages - |
| `v0.2.19` | 2026-02-05 | Low | ## What's New  ### Memory Insights Tool New `memory_insights` tool that analyzes stored memories and produces actionable insights:  - **Activity summary** — memories created in a time period, grouped by type and tag - **Open items** — open TODOs and issues with stale detection (configurable via `MEMORA_STALE_DAYS`) - **Consolidation candidates** — similar memory pairs that could be merged - **LLM analysis** — themes, focus areas, knowledge gaps, and summary (optional, requires `OPENAI_API_KEY`) |

## Citation

- HTML: https://www.freshcrate.ai/projects/memora
- Markdown: https://www.freshcrate.ai/projects/memora.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/memora/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
