Kore Memory
The memory layer that thinks like a human.
Kore Memory is a Python library that gives AI agents a biologically-inspired memory system. It uses Ebbinghaus forgetting curves to decay memories over time, automatically scores importance without an LLM, and provides semantic search across 50+ languages -- all running fully offline on your machine.
pip install kore-memory
Why Kore Memory?
Most AI memory systems treat storage as a flat key-value dump or require expensive LLM calls for every operation. Kore Memory takes a fundamentally different approach:
- Ebbinghaus Decay -- Memories naturally fade over time, just like human memory. Important memories last longer; trivial ones disappear. Each retrieval strengthens the memory (spaced repetition).
- No LLM Required -- Importance scoring, compression, and search all run locally. No API keys, no cloud calls, no usage fees.
- Fully Offline -- SQLite + local sentence-transformers. Works on air-gapped machines, CI pipelines, and edge devices.
- Multi-Agent Ready -- Namespace isolation via
X-Agent-Idheaders. Each agent sees only its own memories.
Feature Comparison
| Feature | Kore Memory | Mem0 | Letta | Memori |
|---|---|---|---|---|
| Offline operation | Yes | No | No | No |
| No LLM required | Yes | No | No | Yes |
| Memory decay (Ebbinghaus) | Yes | No | No | No |
| Auto-importance scoring (local) | Yes | Via LLM | No | No |
| Memory compression | Yes | No | No | No |
| Semantic search (50+ languages) | Yes (local) | Via API | Yes | Yes |
| Timeline API | Yes | No | No | No |
| Tags and relations graph | Yes | No | Yes | No |
| TTL / auto-expiration | Yes | No | No | No |
| MCP server support | Yes | No | No | No |
| Batch API (up to 100) | Yes | No | No | No |
| Export / Import (JSON) | Yes | No | Yes | No |
| Soft-delete / Archive | Yes | No | No | No |
| Prometheus metrics | Yes | No | No | No |
| Web dashboard | Yes | No | No | No |
Core Concepts
The Memory Pipeline
Every memory flows through five stages:
- Save -- Content is received via REST API, Python SDK, or MCP tool
- Score -- Importance is auto-scored locally on a 1--5 scale (or explicitly set)
- Embed -- A local sentence-transformer generates a semantic embedding
- Store -- Memory is persisted to SQLite with an initial
decay_scoreof 1.0 - Decay -- Over time, the decay score decreases following the Ebbinghaus curve
When you search, results are ranked by an effective score that combines three signals:
effective_score = similarity * decay * importance
This means recent, important, and semantically relevant memories always surface first.
Memory Categories
Memories can be organized into categories:
| Category | Use Case |
|---|---|
general | Default catch-all |
project | Project-specific knowledge |
trading | Financial / trading context |
finance | Financial records and decisions |
person | Information about people |
preference | User preferences and settings |
task | Tasks, deadlines, schedules |
decision | Architectural and strategic decisions |
Namespace Isolation
Every API request can include an X-Agent-Id header. Memories are strictly isolated between agents -- agent A cannot read or search agent B's memories. This makes Kore safe for multi-tenant and multi-agent deployments.
Quick Example
# Start the server
pip install kore-memory[semantic]
kore
# Save a memory
curl -X POST http://localhost:8765/save \
-H "Content-Type: application/json" \
-H "X-Agent-Id: my-agent" \
-d '{"content": "User prefers concise responses in Italian", "category": "preference"}'
# Search
curl "http://localhost:8765/search?q=user+preferences&limit=5" \
-H "X-Agent-Id: my-agent"
Or with the Python SDK:
from kore_memory import KoreClient
with KoreClient("http://localhost:8765", agent_id="my-agent") as kore:
kore.save("User prefers dark mode", category="preference")
results = kore.search("dark mode", limit=5)
for memory in results:
print(memory.content, memory.decay_score)
Requirements
- Python 3.11+
- SQLite with FTS5 (included in most Python installations)
- No GPU required (CPU-only sentence-transformers)
What's Next?
- Installation -- Install Kore Memory with the extras you need
- Usage Guide -- Save, search, tag, and manage memories
- Configuration -- Environment variables and tuning
- API Reference -- Full REST API documentation
- MCP Server -- Use Kore with Claude, Cursor, and other MCP clients
- Architecture -- How the decay engine, scoring, and compression work