Remembra
The memory layer for AI that actually works.
Persistent memory with entity resolution, temporal decay, and graph-aware recall.
Self-host in minutes. No vendor lock-in.
Documentation •
Website •
Quick Start •
Why Remembra? •
Twitter •
Discord
🚀 What's New in v0.13.0
Dashboard v2.0
- 🔐 Two-Factor Authentication — TOTP-based 2FA with authenticator apps
- 👥 Team Collaboration — Shared memory spaces with role-based access
- 🛠️ Admin Dashboard — Full user management (delete/deactivate/reset)
- 📊 Activity Log — Security audit trail with JSON export
- 🕵️ Entity Browser — Visual exploration of people, places, concepts
- ⏰ Timeline Fix — Proper timezone handling with local time display
Core API
- 📦 npm Package —
npm install remembra with full TypeScript support
- 🔒 Security Fixes — RBAC enforcement, SSRF protection, error sanitization
Supported Agents (6+)
Claude Desktop • Claude Code • Codex CLI • Cursor • Windsurf • Gemini
Previous (v0.12.x)
- 👤 User Profiles API with activity metrics
- 🧠 Smart Auto-Forgetting (35+ temporal patterns)
- ⏰ Event-driven expiry with
expires_at
- 🌐 Browser Extension for AI chat interfaces
The Problem
Every AI app needs memory. Your chatbot forgets users between sessions. Your agent can't recall decisions from yesterday. Your assistant asks the same questions over and over.
Existing solutions have tradeoffs:
- Mem0: Graph features require $249/mo plan; limited self-hosting documentation
- Zep: Academic approach, complex deployment
- Letta: Research-grade, not production-ready
- LangChain Memory: Too basic, no persistence
The Solution
from remembra import Memory
memory = Memory(user_id="user_123")
memory.store("Had a meeting with Sarah from Acme Corp. She prefers email over Slack.")
result = memory.recall("How should I contact Sarah?")
print(result.context)
⚡ Quick Start (2 Minutes)
One Command Install
curl -sSL https://raw.githubusercontent.com/remembra-ai/remembra/main/quickstart.sh | bash
That's it. Remembra + Qdrant + Ollama start locally. No API keys needed.
Or with Docker Compose directly:
git clone https://github.com/remembra-ai/remembra && cd remembra
docker compose -f docker-compose.quickstart.yml up -d
Try it:
curl -X POST http://localhost:8787/api/v1/memories \
-H "Content-Type: application/json" \
-d '{"content": "Alice is CEO of Acme Corp", "user_id": "demo"}'
curl -X POST http://localhost:8787/api/v1/memories/recall \
-H "Content-Type: application/json" \
-d '{"query": "Who runs Acme?", "user_id": "demo"}'
Connect ALL Your AI Agents (NEW in v0.10.0)
One command configures everything:
pip install remembra
remembra-install --all --url http://localhost:8787
This auto-detects and configures: Claude Desktop, Claude Code, Codex CLI, Cursor, Windsurf, Gemini.
Verify setup:
remembra-doctor all
Manual MCP Config (if needed)
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"remembra": {
"command": "remembra-mcp",
"env": {
"REMEMBRA_URL": "http://localhost:8787",
"REMEMBRA_USER_ID": "default"
}
}
}
}
Claude Code:
claude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp
Cursor — add to .cursor/mcp.json:
{
"mcpServers": {
"remembra": {
"command": "remembra-mcp",
"env": {
"REMEMBRA_URL": "http://localhost:8787"
}
}
}
}
Now ask Claude: "Remember that Alice is CEO of Acme Corp" — then later: "Who runs Acme?"
Python SDK
pip install remembra
from remembra import Memory
memory = Memory(user_id="user_123")
memory.store("Had a meeting with Sarah from Acme Corp. She prefers email over Slack.")
result = memory.recall("How should I contact Sarah?")
print(result.context)
TypeScript SDK
npm install remembra
import { Remembra } from 'remembra';
const memory = new Remembra({ url: 'http://localhost:8787' });
await memory.store('User prefers dark mode');
const result = await memory.recall('preferences');
🔥 Why Remembra?
Feature Comparison
| One-Command Install | ✅ curl | bash | ✅ pip | ✅ pip | ⚠️ Complex | ✅ brew |
| Bi-Temporal Relationships | ✅ Point-in-time | ❌ | ⚠️ Basic | ❌ | ❌ |
| Entity Resolution | ✅ Free | 💰 $249/mo | ✅ | ❌ | ❌ |
| Conflict Detection | ✅ Auto-supersede | ❌ | ❌ | ❌ | ❌ |
| PII Detection | ✅ Built-in | ❌ | ❌ | ❌ | ❌ |
| Hybrid Search | ✅ BM25+Vector | ❌ | ✅ | ❌ | ❌ |
| 6 Embedding Providers | ✅ Hot-swap | ❌ (1-2) | ❌ (1) | ❌ | ❌ |
| Plugin System | ✅ | ❌ | ❌ | ✅ | ❌ |
| Sleep-Time Compute | ✅ | ❌ | ❌ | ✅ | ❌ |
| Self-Host + Billing | ✅ Stripe | ❌ | ❌ | ❌ | ❌ |
| Memory Spaces | ✅ Multi-tenant | ❌ | ❌ | ❌ | ❌ |
| MCP Server | ✅ 11 Tools | ✅ | ❌ | ❌ | ✅ |
| Pricing | Free / $49 / $199 | $19 → $249 | $25+ | Free | Free |
| License | MIT | Apache 2.0 | Apache 2.0 | Apache 2.0 | MIT |
Core Features
🧠 Smart Extraction — LLM-powered fact extraction from raw text
👥 Entity Resolution — "Adam", "Mr. Smith", "my husband" → same person
⏱️ Temporal Memory — TTL, decay curves, historical queries
🔍 Hybrid Search — Semantic + keyword for accurate recall
🔒 Security — PII detection, anomaly monitoring, audit logs
📊 Dashboard — Visual memory browser, entity graphs, analytics
📊 Benchmark Results
Tested on the LoCoMo benchmark (Snap Research, ACL 2024) — the standard academic benchmark for AI memory systems.
| Single-hop (direct recall) | 100% | 37 |
| Multi-hop (cross-session reasoning) | 100% | 32 |
| Temporal (time-based queries) | 100% | 13 |
| Open-domain (world knowledge + memory) | 100% | 70 |
| Overall (memory categories) | 100% | 152 |
Scored with LLM judge (GPT-4o-mini). Adversarial detection not yet implemented. Run your own: python benchmarks/locomo_runner.py --data /tmp/locomo/data/locomo10.json
📖 Documentation
🛠️ MCP Server
Give any AI coding tool persistent memory with one command. Works with Claude Code, Cursor, VS Code + Copilot, Windsurf, JetBrains, Zed, OpenAI Codex, and any MCP-compatible client.
pip install remembra[mcp]
claude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp
Available Tools (11 total):
store_memory | Save facts, decisions, context |
recall_memories | Semantic search across memories |
update_memory | Update content without delete+recreate |
forget_memories | GDPR-compliant deletion |
list_memories | Browse stored memories |
search_entities | Search the entity graph |
share_memory | Cross-agent memory sharing via Spaces |
timeline | Temporal browsing by entity and date |
relationships_at | Point-in-time relationship queries |
ingest_conversation | Auto-extract from chat history |
health_check | Verify connection |
🏗️ Architecture
┌─────────────────────────────────────────────────────────────┐
│ Your Application │
├──────────┬──────────────┬───────────────────────────────────┤
│ Python │ TypeScript │ MCP Server (Claude/Cursor) │
│ SDK │ SDK │ remembra-mcp │
├──────────┴──────────────┴───────────────────────────────────┤
│ Remembra REST API │
├──────────────┬──────────────┬───────────────┬───────────────┤
│ Extraction │ Entities │ Retrieval │ Security │
│ (LLM) │ (Graph) │ (Hybrid) │ (PII/Audit) │
├──────────────┴──────────────┴───────────────┴───────────────┤
│ Storage Layer │
│ Qdrant (vectors) + SQLite (metadata/graph) │
└─────────────────────────────────────────────────────────────┘
🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
git clone https://github.com/remembra-ai/remembra
cd remembra
pip install -e ".[dev]"
pytest
remembra-server --reload
📄 License
MIT License — Use it however you want.
⭐ Star History
If Remembra helps you, please star the repo! It helps others discover the project.

Built with ❤️ by DolphyTech
remembra.dev • docs • twitter • discord