{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/logo.png\" alt=\"Remembra Logo\" width=\"140\">\n</p>\n\n<h1 align=\"center\">Remembra</h1>\n\n<p align=\"center\">\n  <strong>The memory layer for AI that actually works.</strong><br>\n  Persistent memory with entity resolution, temporal decay, and graph-aware recall.<br>\n  Self-host in minutes. No vendor lock-in.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://pypi.org/project/remembra/\"><img src=\"https://img.shields.io/pypi/v/remembra?color=blue&label=PyPI\" alt=\"PyPI\"></a>\n  <a href=\"https://www.npmjs.com/package/remembra\"><img src=\"https://img.shields.io/npm/v/remembra?color=green&label=npm\" alt=\"npm\"></a>\n  <a href=\"https://github.com/remembra-ai/remembra/stargazers\"><img src=\"https://img.shields.io/github/stars/remembra-ai/remembra?style=social\" alt=\"GitHub Stars\"></a>\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://docs.remembra.dev\"><img src=\"https://img.shields.io/badge/docs-remembra.dev-blue\" alt=\"Documentation\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://docs.remembra.dev\">Documentation</a> •\n  <a href=\"https://remembra.dev\">Website</a> •\n  <a href=\"#quick-start\">Quick Start</a> •\n  <a href=\"#why-remembra\">Why Remembra?</a> •\n  <a href=\"https://twitter.com/remembradev\">Twitter</a> •\n  <a href=\"https://discord.gg/Bzv3JshRa3\">Discord</a>\n</p>\n\n<!-- mcp-name: io.github.remembra-ai/remembra -->\n\n---\n\n## 🚀 What's New in v0.16.0 — Lossless Memory\n\n**Most memory layers store an LLM's paraphrase of what you said. Remembra now keeps the receipts.**\n\n- **🧾 Verbatim source records** — the exact original text is preserved as an\n  immutable record whenever facts are derived from it. Never LLM-merged, never rewritten.\n- **🔗 Receipts on every fact** — each derived fact carries `metadata.source_id`\n  pointing back to its source. Recall a fact, fetch its evidence.\n- **🛡️ Hallucination flagging** — every derived fact is verified against its source;\n  facts that don't overlap the original are stored flagged `verified: false`, not silently trusted.\n- **⚡ Fast writes (opt-in)** — `REMEMBRA_ASYNC_ENRICHMENT=true` stores the verbatim\n  source instantly and runs extraction in the background.\n- **🩺 Production reliability** — request IDs on every response, honest 429/502 upstream\n  error mapping, embedding cache (~8× faster repeat recalls), litestream backups, and\n  the opaque store-500 class of failures fixed at the root.\n\n### Previous highlights\n- **🧠 Brain layer (v0.15+)** — GraphRAG-style community detection over your entity graph; 2D/3D knowledge graph in the dashboard\n- **🌐 Remote MCP** — multi-tenant streamable-HTTP MCP: connect any agent with just a URL + API key\n- **🔐 Dashboard v2** — 2FA, teams, admin console, audit log, entity browser\n\n### Supported Agents (6+)\nClaude Desktop • Claude Code • Codex CLI • Cursor • Windsurf • Gemini\n\n---\n\n## The Problem\n\nEvery 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.\n\n**Existing solutions have tradeoffs:**\n- Mem0: Graph features require $249/mo plan; limited self-hosting documentation\n- Zep: Academic approach, complex deployment\n- Letta: Research-grade, not production-ready\n- LangChain Memory: Too basic, no persistence\n\n## The Solution\n\n```python\nfrom remembra import Memory\n\nmemory = Memory(user_id=\"user_123\")\n\n# Store — entities and facts extracted automatically\nmemory.store(\"Had a meeting with Sarah from Acme Corp. She prefers email over Slack.\")\n\n# Recall — semantic search finds relevant memories\nresult = memory.recall(\"How should I contact Sarah?\")\nprint(result.context)\n# → \"Sarah from Acme Corp prefers email over Slack.\"\n\n# It knows \"Sarah\" and \"Acme Corp\" are entities. It builds relationships.\n# It persists across sessions, reboots, context windows. Forever.\n```\n\n---\n\n## ⚡ Quick Start (2 Minutes)\n\n### One Command Install\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/remembra-ai/remembra/main/quickstart.sh | bash\n```\n\nThat's it. Remembra + Qdrant + Ollama start locally. No API keys needed.\n\n**Or with Docker Compose directly:**\n\n```bash\ngit clone https://github.com/remembra-ai/remembra && cd remembra\ndocker compose -f docker-compose.quickstart.yml up -d\n```\n\n**Try it:**\n\n```bash\n# Store a memory\ncurl -X POST http://localhost:8787/api/v1/memories \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"content\": \"Alice is CEO of Acme Corp\", \"user_id\": \"demo\"}'\n\n# Recall it\ncurl -X POST http://localhost:8787/api/v1/memories/recall \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"Who runs Acme?\", \"user_id\": \"demo\"}'\n```\n\n### Connect ALL Your AI Agents (NEW in v0.10.0)\n\n**One command configures everything:**\n\n```bash\npip install remembra\nremembra-install --all --url http://localhost:8787\n```\n\nThis auto-detects and configures: Claude Desktop, Claude Code, Codex CLI, Cursor, Windsurf, Gemini.\n\n**Verify setup:**\n\n```bash\nremembra-doctor all\n```\n\n<details>\n<summary>Manual MCP Config (if needed)</summary>\n\n**Claude Desktop** — add to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"remembra\": {\n      \"command\": \"remembra-mcp\",\n      \"env\": {\n        \"REMEMBRA_URL\": \"http://localhost:8787\",\n        \"REMEMBRA_USER_ID\": \"default\"\n      }\n    }\n  }\n}\n```\n</details>\n\n**Claude Code:**\n\n```bash\nclaude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp\n```\n\n**Cursor** — add to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"remembra\": {\n      \"command\": \"remembra-mcp\",\n      \"env\": {\n        \"REMEMBRA_URL\": \"http://localhost:8787\"\n      }\n    }\n  }\n}\n```\n\nNow ask Claude: *\"Remember that Alice is CEO of Acme Corp\"* — then later: *\"Who runs Acme?\"*\n\n### Python SDK\n\n```bash\npip install remembra\n```\n\n```python\nfrom remembra import Memory\n\nmemory = Memory(user_id=\"user_123\")\nmemory.store(\"Had a meeting with Sarah from Acme Corp. She prefers email over Slack.\")\nresult = memory.recall(\"How should I contact Sarah?\")\nprint(result.context)  # \"Sarah from Acme Corp prefers email over Slack.\"\n```\n\n### TypeScript SDK\n\n```bash\nnpm install remembra\n```\n\n```typescript\nimport { Remembra } from 'remembra';\n\nconst memory = new Remembra({ url: 'http://localhost:8787' });\nawait memory.store('User prefers dark mode');\nconst result = await memory.recall('preferences');\n```\n\n---\n\n## 🔥 Why Remembra?\n\n### Feature Comparison\n\n| Feature | Remembra | Mem0 | Zep/Graphiti | Letta | Engram |\n|---------|----------|------|-------------|-------|--------|\n| **One-Command Install** | ✅ `curl \\| bash` | ✅ pip | ✅ pip | ⚠️ Complex | ✅ brew |\n| **Bi-Temporal Relationships** | ✅ Point-in-time | ❌ | ⚠️ Basic | ❌ | ❌ |\n| **Entity Resolution** | ✅ Free | 💰 $249/mo | ✅ | ❌ | ❌ |\n| **Conflict Detection** | ✅ Auto-supersede | ❌ | ❌ | ❌ | ❌ |\n| **PII Detection** | ✅ Built-in | ❌ | ❌ | ❌ | ❌ |\n| **Hybrid Search** | ✅ BM25+Vector | ❌ | ✅ | ❌ | ❌ |\n| **6 Embedding Providers** | ✅ Hot-swap | ❌ (1-2) | ❌ (1) | ❌ | ❌ |\n| **Plugin System** | ✅ | ❌ | ❌ | ✅ | ❌ |\n| **Sleep-Time Compute** | ✅ | ❌ | ❌ | ✅ | ❌ |\n| **Self-Host + Billing** | ✅ Stripe | ❌ | ❌ | ❌ | ❌ |\n| **Memory Spaces** | ✅ Multi-tenant | ❌ | ❌ | ❌ | ❌ |\n| **MCP Server** | ✅ 11 Tools | ✅ | ❌ | ❌ | ✅ |\n| **Pricing** | Free / $49 / $199 | $19 → $249 | $25+ | Free | Free |\n| **License** | MIT | Apache 2.0 | Apache 2.0 | Apache 2.0 | MIT |\n\n### Core Features\n\n🧠 **Smart Extraction** — LLM-powered fact extraction from raw text\n\n👥 **Entity Resolution** — \"Adam\", \"Mr. Smith\", \"my husband\" → same person\n\n⏱️ **Temporal Memory** — TTL, decay curves, historical queries\n\n🔍 **Hybrid Search** — Semantic + keyword for accurate recall\n\n🔒 **Security** — PII detection, anomaly monitoring, audit logs\n\n📊 **Dashboard** — Visual memory browser, entity graphs, analytics\n\n---\n\n## 📊 Benchmark Results\n\nTested on the [LoCoMo benchmark](https://github.com/snap-research/locomo) (Snap Research, ACL 2024) — the standard academic benchmark for AI memory systems.\n\n| Category | Accuracy | Questions |\n|----------|----------|-----------|\n| **Single-hop** (direct recall) | **100%** | 37 |\n| **Multi-hop** (cross-session reasoning) | **100%** | 32 |\n| **Temporal** (time-based queries) | **100%** | 13 |\n| **Open-domain** (world knowledge + memory) | **100%** | 70 |\n| **Overall (memory categories)** | **100%** | **152** |\n\n> 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`\n\n---\n\n## 📖 Documentation\n\n| Resource | Description |\n|----------|-------------|\n| [Quick Start](https://docs.remembra.dev/getting-started/quickstart/) | Get running in minutes |\n| [Python SDK](https://docs.remembra.dev/guides/python-sdk/) | Full Python reference |\n| [TypeScript SDK](https://docs.remembra.dev/guides/javascript-sdk/) | JavaScript/TypeScript guide |\n| [MCP Server](https://docs.remembra.dev/integrations/mcp-server/) | Tool reference + setup guides for 11 tools |\n| [REST API](https://docs.remembra.dev/guides/rest-api/) | API reference |\n| [Self-Hosting](https://docs.remembra.dev/getting-started/docker/) | Docker deployment guide |\n\n---\n\n## 🛠️ MCP Server\n\nGive 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.\n\n```bash\npip install remembra[mcp]\nclaude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp\n```\n\n**Available Tools (11 total):**\n\n| Tool | Description |\n|------|-------------|\n| `store_memory` | Save facts, decisions, context |\n| `recall_memories` | Semantic search across memories |\n| `update_memory` | Update content without delete+recreate |\n| `forget_memories` | GDPR-compliant deletion |\n| `list_memories` | Browse stored memories |\n| `search_entities` | Search the entity graph |\n| `share_memory` | Cross-agent memory sharing via Spaces |\n| `timeline` | Temporal browsing by entity and date |\n| `relationships_at` | Point-in-time relationship queries |\n| `ingest_conversation` | Auto-extract from chat history |\n| `health_check` | Verify connection |\n\n---\n\n## 🏗️ Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    Your Application                          │\n├──────────┬──────────────┬───────────────────────────────────┤\n│ Python   │ TypeScript   │ MCP Server (Claude/Cursor)        │\n│ SDK      │ SDK          │ remembra-mcp                      │\n├──────────┴──────────────┴───────────────────────────────────┤\n│                   Remembra REST API                          │\n├──────────────┬──────────────┬───────────────┬───────────────┤\n│  Extraction  │   Entities   │   Retrieval   │   Security    │\n│  (LLM)       │  (Graph)     │ (Hybrid)      │  (PII/Audit)  │\n├──────────────┴──────────────┴───────────────┴───────────────┤\n│                    Storage Layer                             │\n│         Qdrant (vectors) + SQLite (metadata/graph)          │\n└─────────────────────────────────────────────────────────────┘\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n```bash\n# Clone\ngit clone https://github.com/remembra-ai/remembra\ncd remembra\n\n# Install dev dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Start dev server\nremembra-server --reload\n```\n\n---\n\n## 📄 License\n\nMIT License — Use it however you want.\n\n---\n\n## ⭐ Star History\n\nIf Remembra helps you, please star the repo! It helps others discover the project.\n\n[![Star History Chart](https://api.star-history.com/svg?repos=remembra-ai/remembra&type=Date)](https://star-history.com/#remembra-ai/remembra&Date)\n\n---\n\n<p align=\"center\">\n  Built with ❤️ by <a href=\"https://dolphytech.com\">DolphyTech</a><br>\n  <a href=\"https://remembra.dev\">remembra.dev</a> • <a href=\"https://docs.remembra.dev\">docs</a> • <a href=\"https://twitter.com/remembradev\">twitter</a> • <a href=\"https://discord.gg/Bzv3JshRa3\">discord</a>\n</p>\n",
  "bytes": 12120,
  "sha": "f4b7ab96e5ddcf65f9855cf952496723da19d237b33c2505553c873a4dec23ea",
  "repo_slug": "remembra-ai/remembra",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_remembra_ai_remembra_fb247bdc/readme"
}