Perseus Vault persistent, local, encrypted memory for LangChain — tools and a retriever backed by the Perseus Vault MCP engine.
Project description
langchain-perseus-vault
Persistent, local-first, encrypted memory for LangChain, backed by Perseus Vault (formerly "Mimir"/"Mneme") — an open-source (MIT) memory engine with FTS5 + dense hybrid search and optional AES-256-GCM encryption, exposed over the Model Context Protocol (MCP) stdio transport.
It gives a LangChain agent durable memory that survives across runs and processes, stored in a single local SQLite file you control — no external service, no cloud.
What you get
This package wraps Perseus Vault using the modern langchain-core interfaces:
create_perseus_vault_tools(client)— a pair ofStructuredTools (perseus_vault_remember/perseus_vault_recall) you give to an agent so it can manage its own long-term memory via tool calls. This is the current-recommended LangChain pattern (the legacyMemory/ConversationBufferMemoryclasses are deprecated).PerseusVaultRetriever— aBaseRetrieverreturningDocuments, for drop-in use in RAG chains and anywhere LangChain accepts a retriever (.invoke(query)).PerseusVaultClient— the low-level MCP stdio client, if you want direct access.
Prerequisite: the perseus-vault binary
This package talks to a local perseus-vault executable via JSON-RPC over
stdio. You must have it installed:
- Download a release from
https://github.com/Perseus-Computing-LLC/perseus-vault/releases, or build from source
(
cargo build --release), and putperseus-vaulton your$PATH. - Or pass an absolute path:
PerseusVaultClient(perseus_vault_binary="/path/to/perseus-vault").
On Windows the binary may be named perseus-vault.exe; ensure its directory is
on PATH, or pass the full path. (Some installs also ship a mimir compat
symlink, but perseus-vault is the canonical name.)
Install
pip install langchain-perseus-vault
Usage
As agent tools
from langchain_perseus_vault import PerseusVaultClient, create_perseus_vault_tools
client = PerseusVaultClient(db_path="~/.langchain/mimir.db")
tools = create_perseus_vault_tools(client) # [perseus_vault_remember, perseus_vault_recall]
# Bind to any tool-calling model / agent:
from langchain.chat_models import init_chat_model
llm = init_chat_model("anthropic:claude-sonnet-4-5")
llm_with_memory = llm.bind_tools(tools)
resp = llm_with_memory.invoke("Remember that my favorite language is Rust.")
# ... the model will call perseus_vault_remember; execute the tool call as usual.
As a retriever
from langchain_perseus_vault import PerseusVaultClient, PerseusVaultRetriever
client = PerseusVaultClient(db_path="~/.langchain/mimir.db")
client.remember("The capital of France is Paris.")
retriever = PerseusVaultRetriever(client=client, k=5)
docs = retriever.invoke("What is the capital of France?")
print(docs[0].page_content) # -> "The capital of France is Paris."
Direct client
from langchain_perseus_vault import PerseusVaultClient
client = PerseusVaultClient(db_path="~/.langchain/mimir.db")
client.remember("Project deadline is July 15.", tags=["project", "deadline"])
items = client.recall("when is the deadline")
print(items[0]["text"])
How it works
PerseusVaultClient spawns perseus-vault --db <path> as a subprocess and
speaks JSON-RPC 2.0 (MCP) over its stdin/stdout. A background reader thread and
a lock make calls thread-safe and timeout-bounded. Memories are stored via
perseus_vault_remember and retrieved via perseus_vault_recall.
License
MIT © 2026 Perseus Computing LLC
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file langchain_perseus_vault-0.1.0.tar.gz.
File metadata
- Download URL: langchain_perseus_vault-0.1.0.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a4fe5ab7a93fb3748bf587e19816b7bbfe8de45ee7977aad1c8a926ff587d3d
|
|
| MD5 |
cb33df3d2ac60f7cf31db1af37ef8b52
|
|
| BLAKE2b-256 |
f4b34a9319918e4104cadfabfc7dd6f5481f6adae8b6d158b89cc14efb9805c5
|
Provenance
The following attestation bundles were made for langchain_perseus_vault-0.1.0.tar.gz:
Publisher:
publish.yml on Perseus-Computing-LLC/langchain-mimir
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
langchain_perseus_vault-0.1.0.tar.gz -
Subject digest:
1a4fe5ab7a93fb3748bf587e19816b7bbfe8de45ee7977aad1c8a926ff587d3d - Sigstore transparency entry: 2072280908
- Sigstore integration time:
-
Permalink:
Perseus-Computing-LLC/langchain-mimir@45ad88ebf7fe5b416a40d535cd76ab326a4f796f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Perseus-Computing-LLC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@45ad88ebf7fe5b416a40d535cd76ab326a4f796f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file langchain_perseus_vault-0.1.0-py3-none-any.whl.
File metadata
- Download URL: langchain_perseus_vault-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bd30df218106e009f69be9a4fff63fbbb472db157388b991f6009c10cbe5d7d
|
|
| MD5 |
69936b2f667d8d7fae9c7bd03226e284
|
|
| BLAKE2b-256 |
f0f8d286237928d443ef895d37644c3de2720e4c87219bc398cd713351f740a6
|
Provenance
The following attestation bundles were made for langchain_perseus_vault-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Perseus-Computing-LLC/langchain-mimir
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
langchain_perseus_vault-0.1.0-py3-none-any.whl -
Subject digest:
4bd30df218106e009f69be9a4fff63fbbb472db157388b991f6009c10cbe5d7d - Sigstore transparency entry: 2072281020
- Sigstore integration time:
-
Permalink:
Perseus-Computing-LLC/langchain-mimir@45ad88ebf7fe5b416a40d535cd76ab326a4f796f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Perseus-Computing-LLC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@45ad88ebf7fe5b416a40d535cd76ab326a4f796f -
Trigger Event:
workflow_dispatch
-
Statement type: