Perseus Vault
UnclaimedPersistent, encrypted memory for AI agents: one Rust binary, one file, no cloud. 122 canonical MCP tools, hybrid recall, bi-temporal history, AES-256-GCM. Local-first, air-gap ready, MIT.
Unclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverTools (40)
perseus_vault_as_of
Transaction-time time-travel: the version of a fact (category + key) that was believed at a past instant.
perseus_vault_ask
RAG: recall context, query LLM, return grounded answer with sources.
perseus_vault_bitemporal
Full 2-axis bi-temporal query: "as of transaction time T, what did we believe was true at valid time V" — the exact rectangle cell.
perseus_vault_capture
Opt-in in-session capture (#520): distill a transcript/insight payload (text, markdown, or JSONL) into durable entities (root-cause / pitfall / decision / pattern / takeaway) the moment a problem is solved. Local rule-based distiller by default, optional llm: true with graceful fallback; near-dup me
perseus_vault_check_failure_pattern
Deja-vu guard: check an action against previously recorded failures (journal + failure/pitfall entities) before retrying it. Read-only.
perseus_vault_communities
GraphRAG community detection over the link graph (deterministic label propagation or greedy-modularity "louvain"; pure Rust, offline).
perseus_vault_community_summary
Extractive (optionally LLM-polished) summary of one community, materialized as an entity with evidencefor links to members.
perseus_vault_context
Pre-formatted markdown block for session injection. Recall-first by default: pass query (the current task/message) and only topically relevant entities are injected, clamped to a per-model budget; the legacy unconditional dump requires mode: "alwaysinject".
perseus_vault_decay
Recalculate Ebbinghaus decay scores (batched 1000-entity transactions).
perseus_vault_embed
Generate dense vectors via the bundled model, Ollama, or OpenAI-compatible endpoint.
perseus_vault_expire
Time-based lifecycle sweep: entities past their body expiresat transition to status='expired' (content retained, dry-run supported).
perseus_vault_extract
Local, deterministic, rule-based knowledge extraction (facts / preferences / temporal events / episodes) from text or a stored entity. Read-only.
perseus_vault_forget
Soft-delete (archived=1).
perseus_vault_get_entity
Fetch one entity by ID with full bodyjson.
perseus_vault_global_recall
GraphRAG global search: breadth over community summaries, then depth into the best communities' members — holistic answers across clusters.
perseus_vault_graph_attest
Stamp the from-side entity id as the evidence anchor on legacy edges so they become serveable by the graph recall arms (#869); dry-run preview, journaled.
perseus_vault_graph_drift
Read-only graph/entities/indexes/receipts drift report (#869): unattested, dangling, archived/expired-target, and cross-workspace edges, stale community memberships, FTS drift, journal refs to missing entities.
perseus_vault_history
List superseded versions of a fact (category + key), newest first — paginated (limit default 20, plus offset); total reports the full trail size (companion to perseusvaultasof).
perseus_vault_hygiene
Read-only startup-memory hygiene report (#675): scores active memories by "actionability" (concrete anchors — issue keys, #refs, paths, URLs, decisions — vs vague/date-only/short) and lists the worst offenders with reasons, for archive/consolidate curation.
perseus_vault_ingest
Trigger connector syncs (GitHub, file watcher).
perseus_vault_ingest_file
Locally extract a document's text (plaintext/markdown always; DOCX/PDF with the multimodal feature) and store it as a recallable entity.
perseus_vault_journal
Append structured event with actor attribution.
perseus_vault_link
Create typed relationship links between entities.
perseus_vault_memories
Anthropic memory-tool compatible file interface (view/create/strreplace/insert/delete/rename under /memories), backed by vault entities.
perseus_vault_prune
Bulk archive by category, decay threshold, or age.
perseus_vault_purge
Permanently delete archived entities + VACUUM. Destructive.
perseus_vault_recall
Search with FTS5/dense/hybrid modes, filters, stemming expansion. Query contract (#562): query="" is match-all enumeration (the "list all" path); "" and other wildcards are literal FTS5 terms, not globs — "" matches nothing.
perseus_vault_recall_layer
Recall from a specific biomimetic layer (world, episodic, semantic).
perseus_vault_recall_when
Proactive just-in-time recall: surface entities whose recallwhen triggers match.
perseus_vault_remember
Store/update entity. Idempotent by (category, key); a content change snapshots the prior version into history.
perseus_vault_scan
Deterministic paginated enumeration of a category or the whole store (#562): immutable id ASC keyset pages with a nextcursor/hasmore contract, so export/sync/reset callers can walk every entity exactly once. Read-only — no retrieval-count/decay side-effects, no offset cap.
perseus_vault_semantic_search
Dense-only semantic search shortcut — find entities by meaning, ranked purely by embedding similarity (no keyword fallback).
perseus_vault_state_delete
Delete state entry.
perseus_vault_state_get
Get state value. Returns null if expired.
perseus_vault_state_list
List state keys, optionally filtered by prefix.
perseus_vault_state_set
Set key-value state with optional TTL.
perseus_vault_timeline
Query journal by time range with filters.
perseus_vault_traverse
Walk entity link graph up to configurable depth.
perseus_vault_unlink
Remove entity links.
perseus_vault_valid_at
Valid-time lookup: the version that was actually true in the world at an instant, per current knowledge (SQL:2011 APPLICATIONTIME).