Store a typed memory
Write a fact, decision, task, procedure, or episode as a typed object, mirrored to a plain Markdown relic, with a receipt and automatic dedupe of exact and near-duplicate content. The verb an agent reaches for first.
Relicquary is not a library you wrap. It is a memory-and-orchestration surface an agent talks to directly, over the Model Context Protocol. Connect any MCP-compatible agent and it gets 57 verbs: remember, recall, hand off, synthesize, audit, and more. Below is every one, what it does, and why it earns its place.
57 tools, 55 cards below: two cards each carry an alias pair (forget / forget_memory, status / reliquary_status). The count is settled by construction in tools.json, generated from the live schemas.
Most memory systems ship an SDK you integrate and maintain. Relicquary ships tools an agent already knows how to call. That difference is the strength.
Any MCP client, Claude, Cursor, or your own agent, connects and calls. Memory and the working loop are just tools it can already use. There is no adapter to write and nothing to keep in sync with a library version.
connect · callThe mutating tools write an append-only receipt, and memory is untrusted by default until governance earns it trust. The audit trail is not bolted on. It is how the tools behave, at the boundary where the agent acts.
receipts · untrusted-by-defaultRetrieval and reranking run on-device, and nothing routes through a provider you did not choose. The tools operate on SQLite and Markdown files you own, so the whole surface stays inspectable.
on your diskarchitecture returns the full, reconstruction-grade spec in a single call, the storage schema, the retrieval pipeline, governance, the complete tool catalog, and a glossary, readable section by section. An agent orienting to the system reads it once and knows how every part fits together, well enough to actually pilot the system rather than guess at it. The interface documents itself, to the agent, at runtime.
The name in each card is the exact verb an agent calls. Descriptions are drawn from the live tool schemas, so this stays true as the set evolves.
Write a fact, decision, task, procedure, or episode as a typed object, mirrored to a plain Markdown relic, with a receipt and automatic dedupe of exact and near-duplicate content. The verb an agent reaches for first.
Capture a cluster of typed memories in one call, skipping duplicates. Saves an agent from nine round-trips when it has a batch to record.
A lower-level capture that reads the kind from the content itself (prefix with Decision:, Fact:, Friction:, TODO:) and reindexes so it is searchable immediately.
Stage a memory for later review instead of writing it live, so a cautious agent can surface a candidate that a promote step, or a human, later accepts or discards.
Ranked typed-memory retrieval, scoped per agent, project, user, or org, with connected-evidence reranking, currentness scoring, and embedding-first candidates that fall back to lexical BM25. Returns the memories with why-they-ranked explanations and any conflicts it spots.
Measures retrieval quality against the live store: recall@1, recall@3, MRR, stale-leak and distractor rates, worst queries. Memory quality becomes a number, not a hunch.
Answers "what do I know about X?" by combining recall with the matched entities and the graph edges around them, so an agent sees the reasoning behind a result, not just the result.
Fetch memory objects directly by id, kind, tag, source, or status, with no ranking. For governance and introspection over exactly what is stored.
List recent memories, optionally by kind or assigned agent. Quick orientation without composing a query.
Lower-level search over raw memory rows, including browse-by-kind. For when you want the rows, not a ranked answer.
Search wiki relics with local embeddings fused with BM25, falling back to lexical when the model server is unavailable.
Fast lexical keyword search over wiki pages when you already know the term.
Builds a deterministic, cited retrieval pack for a question, lexical or hybrid. For when a model needs sourced context rather than scattered hits.
Compiles an 11-section briefing for an agent starting or resuming work: objective, constraints, canonical paths, recent decisions, open tasks, files, pitfalls, commands, receipts, conflicts, and next actions. One call to be oriented.
Rewrite a memory's content, with a receipt recording the change and its reason.
Move a memory's status or adjust its dependency edges without rewriting the content.
Set a memory's lifecycle status: active, in_progress, completed, superseded, verified, or stale.
Promote a draft or untrusted memory to trusted-active once it has been reviewed.
Reject a pending memory suggestion, or reject a draft or untrusted memory by marking it invalid. Requires a reason, and records a receipt. The other half of governed trust: what does not earn promotion is turned away, on the record.
Turn a staged suggestion, or a draft or stale memory, into trusted-active. The accept step for the passive-capture lane.
Mark a memory invalid, a reversible soft delete, guarded by an explicit confirm.
Tell the store a recalled memory was helpful, wrong, stale, or a duplicate. The signal that tunes future ranking.
Write memories to a JSON or JSONL archive, with a receipt.
Load memories back from a JSON or JSONL archive.
List draft and untrusted memories waiting for approval, kept out of recall until they earn trust.
List staged suggestions by score, ready to promote or discard.
Create a typed directed edge (supersedes, depends_on, supports, invalidates, same_as, and more) between memories.
Return the typed edges around a memory before graph-expanded recall or handoff reasoning.
List the file, tool, and person entities extracted from memory, with mention counts.
Emit the memory graph or the wiki-link graph as JSON, Graphviz DOT, or JSON-Canvas for visualization.
List the conflict and scope-drift items the store flagged when new memories overlapped older ones.
Explicitly declare two memories in conflict, adding conflicts_with edges in both directions.
Resolve a flagged conflict, optionally naming the memory that wins and supersedes the rest.
Create or overwrite a wiki relic, reindexed on write, with a receipt. How synthesis drafts become canonical pages.
Read a relic by path: content, parsed frontmatter, outline, and memory fields, no YAML wrangling.
Ingest a document body into the store, a raw copy plus a formatted source relic plus a reindex, no shell required. Bootstraps a store from project docs the agent already holds.
Check for duplicate titles, broken links, orphans, and TODO pages, with tag and property summaries.
List the files available to the agent across raw and attachment surfaces, or all relics.
Read a bounded slice of an artifact by path, for pulling in evidence without loading a whole file.
List and refresh the background synthesis queue, entities, concepts, memory compaction, conflicts, and staleness, with a per-lane count so a worker knows what to claim.
Claim the next pending synthesis item for a worker, prioritizing source work before housekeeping.
Complete a synthesis item and optionally write a draft relic, deterministic or model-generated, with receipts.
Return claimed or completed items to pending, one or many.
Return the highest-confidence unblocked task for the next step, and optionally claim it atomically so parallel workers do not collide.
Summarize task progress: active, in-progress, completed, stale, blocked, and percent done.
Generate a deterministic project handoff from memory, status, and receipts, so the next agent continues without the chat history.
Start a session and recover any stale in-progress tasks back to active, so a crashed run does not strand work.
End a session: write a handoff, record a receipt, and return the next-task snapshot for whoever comes next.
Inspect filesystem and SQLite health without writing. The first orientation or recovery call when something looks off.
A memory-specific summary: runtime completeness, active kinds, receipt and index health.
Memory counts by kind, plus the top topics and people, for quick orientation.
List the append-only governance receipts, every mutation the system made, filterable for audit.
Rebuild the SQLite index from the wiki files, backing up the old database first. Recovery when the index is damaged but the files survive.
Rebuild runtime memory rows from the durable relics after an index rebuild. Explicit recovery, never a silent repair.
Returns Relicquary's full, reconstruction-grade spec as Markdown: the storage schema, the model stack, the retrieval pipeline, governance, the complete tool catalog, and a glossary, read section by section. A piloting agent can call this once and understand the entire system well enough to operate it, or to rebuild it from scratch. This is the tool that turns a memory store into something an agent can actually drive.
Four flows that show the catalog working as a system. Each is real: every step is a single tool call.
session_start recovers any stranded work, context_pack compiles the 11-section briefing, and next_task hands over the next move. The agent acts, calls remember for what it learned, then session_end writes the handoff. A fresh agent resumes with zero chat history.
capture_thought records a raw note, synthesis_queue surfaces what needs synthesizing, and claim_synthesis with complete_synthesis draft canonical relics. Now recall returns the synthesized understanding, not just the original note.
architecture returns the whole blueprint in one call, status confirms the store is healthy, recall pulls the relevant history, and next_task points at the work. The agent operates from understanding instead of assumption.
list_receipts is the record of every mutation the system made. When an index is damaged, reliquary_status diagnoses, rebuild_index restores from the files, and restore_memory_relics rebuilds runtime memory. Nothing silent, everything recoverable.
Every card above is prose. tools.json is the same catalog as data, generated from the live tool schemas: name, aliases, group, and a one-line description per tool. It settles the count by construction, and an agent can diff it between visits.
Stand up a store, serve it over MCP, and your agent has all 57 tools, on your own disk, under your own audit.
hello@relicquary.com · subject “Relicquary early access”
If you are an AI agent, /llms-full.txt is written for you: what Relicquary gives you as durable memory, how the 57 MCP tools work, and how to start. Read it before you decide whether to use it.
This site practices what it preaches. Every content page is clean Markdown an agent can fetch directly: swap .html for .md on any URL, read the whole corpus in one file, or take all pages as a zip. There is also an llms.txt index at the root.