Skip to main content

Perseus Vault persistent, local, encrypted memory for LlamaIndex — agent tools and a retriever backed by the Perseus Vault MCP engine.

Project description

llama-index-perseus-vault

Local-first, encrypted persistent memory for LlamaIndex, backed by Perseus Vault (formerly "Mimir"/"Mneme").

Perseus Vault is an open-source (MIT) memory engine that runs entirely on your machine, stores data in an encrypted SQLite database, and exposes 50+ tools over the Model Context Protocol (MCP). This package wraps it as LlamaIndex agent tools and a retriever so your agents and query engines can persist and retrieve memory across runs — no external vector database, no cloud, and no API key required.

Why Perseus Vault? It is local-first and fully offline, stores everything encrypted at rest (AES-256-GCM), needs no API key or signup, and ships as a single binary with no external vector database. Your data never leaves the machine.

What's included

Class / function Role
PerseusVaultClient Owns the perseus-vault subprocess; remember / recall / call_tool.
create_perseus_vault_tools(client) Returns perseus_vault_remember / perseus_vault_recall FunctionTools for a LlamaIndex agent.
PerseusVaultRetriever A BaseRetriever returning NodeWithScores for query engines / RAG.

Prerequisite: the perseus-vault binary

These components talk to a local perseus-vault executable over stdio. Install it first:

  1. Download a pre-built binary from the Perseus Vault releases page (or build from source).
  2. Put it on your $PATH (so perseus-vault resolves), or pass its absolute path via perseus_vault_binary=.

Install

pip install llama-index-perseus-vault

Give an agent memory tools

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI

from llama_index_perseus_vault import PerseusVaultClient, create_perseus_vault_tools

client = PerseusVaultClient(db_path="~/.llama-index/perseus-vault.db", category="agent-memory")
tools = create_perseus_vault_tools(client)  # perseus_vault_remember, perseus_vault_recall

agent = FunctionAgent(
    tools=tools,
    llm=OpenAI(model="gpt-4o-mini"),
    system_prompt=(
        "You are a helpful assistant with long-term memory. "
        "Use perseus_vault_recall before answering, and perseus_vault_remember "
        "to store durable user-specific facts, preferences, or project context."
    ),
)

# await agent.run("Remember that I prefer concise Python examples.")

Use as a retriever (RAG)

from llama_index_perseus_vault import PerseusVaultClient, PerseusVaultRetriever

client = PerseusVaultClient(db_path="~/.llama-index/perseus-vault.db")
client.remember("Perseus Vault is a local-first, encrypted memory engine.")

retriever = PerseusVaultRetriever(client=client, similarity_top_k=5)
nodes = retriever.retrieve("What is Perseus Vault?")
for n in nodes:
    print(n.score, n.node.text)

Because Perseus Vault persists to an encrypted SQLite file, anything written in one run is available in any future run pointed at the same db_path.

Configuration

PerseusVaultClient accepts:

  • db_path — path to the Perseus Vault SQLite database (default ~/.llama-index/perseus-vault.db).
  • perseus_vault_binary — name on $PATH or absolute path to the executable (default perseus-vault).
  • timeout_s — per-RPC timeout for the subprocess (default 30).
  • encryption_key — optional path to an AES-256-GCM key file.

License

MIT © 2026 Perseus Computing LLC. Perseus Vault (formerly Mimir/Mneme) is also MIT-licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_index_perseus_vault-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llama_index_perseus_vault-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file llama_index_perseus_vault-0.1.0.tar.gz.

File metadata

File hashes

Hashes for llama_index_perseus_vault-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4394c2d902a9864c0c77152a73e8b6d16422f35f0bfe8b9dfb7d91b1c9b62472
MD5 f4203c48563a456c690e63d18108eab2
BLAKE2b-256 321ebe49792469d51ea4cb8ba0eaf3512fa0f0b45e6a59783daf5afcaf2396db

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_perseus_vault-0.1.0.tar.gz:

Publisher: publish.yml on Perseus-Computing-LLC/llama-index-perseus-vault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llama_index_perseus_vault-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_perseus_vault-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ace9a114a01fb71c7cdefd9421a8363a878ff70e44b9dd6525979b45bcf16267
MD5 418130e6d2030552c1f1f890fced6cf7
BLAKE2b-256 c003471529940c3b95b475d41cdfbc8a21687c0c7ed8f9d9730c4f2ea4886de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_perseus_vault-0.1.0-py3-none-any.whl:

Publisher: publish.yml on Perseus-Computing-LLC/llama-index-perseus-vault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page