Skip to main content
memory/build and memory/recall are gated by memory. Memory-augmented RAG (MemoRAG, HippoRAG, long-term agent memory) builds a compact global memory over a corpus, then at query time generates clues — surrogate sub-queries or graph entry-points — that steer the actual retrieval. That two-phase shape fits neither retrieve nor index/add, so memory makes it explicit while staying fully optional.

memory/build

Construct or update a memory over documents already indexed (or supplied inline).
array
[{ id?, text }] to build over; omit to build over the live index.
string
Update an existing memory; omit to create a new one.
"global" | "session"
Corpus-wide vs. trajectory-scoped memory.

memory/recall

Given a query and a memory, return clues the client then feeds into retrieve / graph, plus optional draft hits.
string
required
The user query to recall entry-points for.
string
Which memory to recall against.
string
Ties recall to an agentic trajectory.
integer
Maximum number of clues to return.

Clue object

Each clue carries a surrogate query, a set of seedIds (graph entry nodes — HippoRAG’s personalized-PageRank seeds), or both, plus an optional weight. A client fans clues out over retrieve (usually with a sessionId) or seeds a graph traversal.
Memory is a heavyweight optional capability advertised as memory: { scopes: [...], clues: true }. Simple servers omit it entirely and lose nothing else — the rest of the protocol works unchanged.