Start AtomicMemory Core
The fastest way to run Core is the published Docker image from the GitHub Container Registry. The command below starts an embedded Postgres + pgvector database, persists data to your home directory, and binds the server to The image is published for both
127.0.0.1:17350.linux/amd64 and linux/arm64, so it works on common Linux servers and Apple Silicon Macs without any additional flags.Once you see the server listening log line, Core is ready to accept requests. You can verify it with a quick health check:The local Docker instance uses
local-dev-key as the API key by default. No additional authentication setup is required for local development. The server is bound to 127.0.0.1 so that default key is never exposed over a network interface.Initialize a MemoryClient
Import
MemoryClient and configure it to point at your running Core instance. The apiUrl and apiKey values below match the Docker defaults, so you can copy this directly into a new file.initialize() validates connectivity to the provider and prepares the client for use. Call it once at startup before making any memory operations.Ingest a memory
Pass a conversation to The full ingest endpoint runs extraction and AUDN-SC mutation: each extracted claim is classified as an add, update, supersede, clarify, delete, or no-op against the existing memory store. This keeps memories accurate over time rather than accumulating duplicates.
memory.ingest(). AtomicMemory extracts structured facts from the messages and stores them as memories scoped to the user you specify. The scope field is how the engine knows which user’s memories to write to and read from.Search memories
Retrieve memories with a natural-language query. The engine scores results by semantic similarity and returns them ranked by relevance. Scope the search to the same user to retrieve only their memories.You should see the memory ingested in the previous step returned with a high similarity score. Each result includes the memory content and a numeric relevance score between 0 and 1.
What just happened
You started a self-contained memory backend, wrote a user preference to it, and retrieved it with a semantic query — without managing embeddings, a vector database, or extraction logic yourself. AtomicMemory handles all of that inside Core.Next steps
MemoryClient API
Explore the full
MemoryClient surface: ingest modes, search options, filtering, and error handling.Memory Scope
Learn how to scope memories to users, agents, namespaces, and threads for multi-tenant and multi-agent applications.
LangChain Adapter
Add persistent memory to a LangChain application with the
@atomicmemory/langchain adapter.CLI Overview
Use the AtomicMemory CLI to inspect, search, and manage memories from the command line.