MemoryVault gives AI agents persistent long-term memory with semantic search. One API call to store. One to recall. Runs on your infrastructure or ours.
Every new session starts from zero. Preferences forgotten. Context lost. Your users repeat themselves endlessly.
Chat history gets wiped. Your agent doesn't know the user prefers dark mode, hates verbose answers, or decided on Vue last Tuesday.
Stuffing everything into the prompt hits token limits fast. 38MB of base64 images in context? That's a crash, not a strategy.
RAG finds documents. Memory knows your user. Their preferences, decisions, relationships. That requires hybrid semantic + lexical search.
Store a memory. Search it later. That's it.
# Store a memory curl -X POST https://api.memoryvault.dev/v1/memory/collections/my-agent/memories \ -H "Authorization: Bearer mv_your_key" \ -H "Content-Type: application/json" \ -d '{"text": "User prefers concise answers, no emoji", "category": "preference"}' # Search memories curl -X POST https://api.memoryvault.dev/v1/memory/collections/my-agent/search \ -H "Authorization: Bearer mv_your_key" \ -H "Content-Type: application/json" \ -d '{"query": "communication style", "limit": 3}' # {"results": [{"text": "User prefers concise answers, no emoji", "score": 0.89, ...}]}
import httpx client = httpx.Client( base_url="https://api.memoryvault.dev/v1/memory", headers={"Authorization": "Bearer mv_your_key"} ) # Store client.post("/collections/my-agent/memories", json={ "text": "User prefers concise answers, no emoji", "category": "preference", "importance": 0.9 }) # Search results = client.post("/collections/my-agent/search", json={ "query": "communication style", "limit": 3 }).json() # results["results"][0]["text"] -> "User prefers concise answers, no emoji"
const headers = { "Authorization": "Bearer mv_your_key", "Content-Type": "application/json" }; const base = "https://api.memoryvault.dev/v1/memory"; // Store await fetch(`${base}/collections/my-agent/memories`, { method: "POST", headers, body: JSON.stringify({ text: "User prefers concise answers, no emoji", category: "preference" }) }); // Search const { results } = await fetch(`${base}/collections/my-agent/search`, { method: "POST", headers, body: JSON.stringify({ query: "communication style", limit: 3 }) }).then(r => r.json()); // results[0].text -> "User prefers concise answers, no emoji"
Reciprocal Rank Fusion combines vector similarity and full-text search. Finds what keyword search misses, with the precision it adds.
Each API key is a tenant. Collections, memories, and images are fully isolated. No cross-tenant data leakage, ever.
Store images alongside memories. Avatars, screenshots, generated art. S3-compatible storage with presigned URLs. No more base64 bloat.
Collections create themselves on first use. No setup ceremony. Just start storing memories against any collection name.
MIT licensed. Runs on any box with PostgreSQL and Redis. Your data never leaves your infrastructure. Or use our hosted version.
Drop-in OpenClaw plugin with auto-capture and auto-recall. Your agent gets memory without changing a line of agent code.
Start free. Pay when your agent gets serious.
Set up in 5 minutes. First 1,000 memories are free.
Get your API key