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 intoretrieve / 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 surrogatequery, 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.