Memory gives an agent tools to add, search, and delete facts. It uses a vector-database provider, separately from the database that stores thread history.
The default provider, chroma-ephemeral, keeps data in memory. It does not survive a process restart. Install Chroma separately and choose chroma-db for persistence:
chroma-db stores data under ~/.marvin/memory/chroma by default. Reuse the same provider configuration and memory key to access stored facts later.
Direct operations
Retrieval and providers
By default, the agent chooses whether to use memory tools.auto_use=True also queries memory before the agent runs, using recent messages.
You can pass a MemoryProvider instance or a supported provider string: chroma-ephemeral, chroma-db, chroma-cloud, lancedb, postgres, or qdrant. Each provider needs its own dependencies and configuration; see the memory API.
Memory can be shared by multiple agents. Use separate keys for facts that should be searched separately. MARVIN_DATABASE_URL configures thread history, not vector memory.