Skip to main content

crewai-perseus-vault

📦 Package rename history. This distribution replaced the archived crewai-mimir project. Install crewai-perseus-vault for the current Perseus Vault integration.

Long-term, local-first, encrypted memory for CrewAI agents — as explicit, agent-callable tools.

crewai-perseus-vault wraps Perseus Vault — an open-source, MIT-licensed persistent memory engine with 40+ MCP tools, FTS5 + dense hybrid search, and optional AES-256-GCM encryption — as standard CrewAI BaseTools. Your agents get two first-class actions they can deliberately call:

  • perseus_vault_remember — persist a fact, decision, insight, or note that survives across runs.
  • perseus_vault_recall — search what was stored earlier.

Why tools (and not CrewAI's built-in memory)?

CrewAI ships implicit memory (auto-captured short/long-term memory) and a generic MCP adapter. crewai-perseus-vault is deliberately different: it exposes explicit, controllable memory the agent chooses to invoke, with a typed args_schema so the LLM sees exactly what each call needs. Use it when you want the agent to reason about what to remember and when to recall — backed by a durable, encryptable store you own on disk.

Prerequisite: the perseus-vault binary

The tools talk to a local perseus-vault process over JSON-RPC (MCP stdio). You need the perseus-vault binary on your PATH (or pass an absolute path).

Install it from the Perseus Vault repository (build from source, or grab a release). Verify:

perseus-vault --version

The tools spawn perseus-vault serve --db <db_path> for you — you do not start it manually.

Install

pip install crewai-perseus-vault

(or, from source: pip install -e ".[test]")

Quickstart

from crewai import Agent, Crew, Task
from crewai_perseus_vault import build_perseus_vault_tools

# One shared perseus-vault process backs both tools.
memory_tools = build_perseus_vault_tools(db_path="~/.perseus-vault/data/crew.db")

researcher = Agent(
    role="Research Analyst",
    goal="Answer questions, remembering durable facts for next time.",
    backstory="You persist key findings to long-term memory and check it before answering.",
    tools=memory_tools,
    verbose=True,
)

remember_task = Task(
    description="Remember that the project deadline is 2026-08-15. Store it under key 'project-deadline'.",
    expected_output="Confirmation the deadline was stored.",
    agent=researcher,
)

recall_task = Task(
    description="What is the project deadline? Check your long-term memory.",
    expected_output="The project deadline date.",
    agent=researcher,
)

crew = Crew(agents=[researcher], tasks=[remember_task, recall_task])
result = crew.kickoff()
print(result)

Using the tool classes directly

from crewai_perseus_vault import (
    PerseusVaultRememberTool,
    PerseusVaultRecallTool,
    PerseusVaultClient,
)

client = PerseusVaultClient(db_path="~/.perseus-vault/data/crew.db")   # one shared process
remember = PerseusVaultRememberTool(client=client)
recall = PerseusVaultRecallTool(client=client)

agent = Agent(..., tools=[remember, recall])

If you omit client, each tool lazily starts its own perseus-vault serve on first use (configurable via db_path and perseus_vault_binary).

Encryption at rest

tools = build_perseus_vault_tools(
    db_path="~/.perseus-vault/data/crew.db",
    encryption_key="~/.perseus-vault/key.b64",   # base64-encoded 32-byte AES-256-GCM key
)

Tool reference

Tool Required args Optional args
perseus_vault_remember content, key category (default insight), tags, importance (0.0–1.0)
perseus_vault_recall query limit (default 5), category

Both return a JSON string. perseus_vault_recall returns {"query": ..., "results": [...]}.

How it works

PerseusVaultClient spawns perseus-vault serve --db <path>, performs the MCP initialize handshake, and issues id-correlated JSON-RPC requests with a per-call timeout over stdin/stdout. The client core is adapted from the proven adk-perseus-vault-memory package.

Development

pip install -e ".[test]"
pytest -q

Unit tests mock the perseus-vault subprocess, so they run with no binary installed. tests/test_smoke_real_binary.py runs an end-to-end round-trip against a real perseus-vault binary when one is found on PATH (otherwise it is skipped).

License

MIT © 2026 Perseus Computing LLC. Perseus Vault is MIT-licensed by Perseus Computing LLC.

Metadata

Release files for crewai-perseus-vault 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crewai-perseus-vault 0.1.1
File Size Uploaded
crewai_perseus_vault-0.1.1.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crewai-perseus-vault 0.1.1
File Interpreter ABI Platform
crewai_perseus_vault-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / crewai_perseus_vault-0.1.1.tar.gz

Download URL crewai_perseus_vault-0.1.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8a44b334c72c88bf21221e67f0e9e82149674c0ba7affe1be717f892b47b04a7
BLAKE2b-256 checksum
How to use checksums
ca598b0485abbbe6fc324fb6583b93b172334ac2b989a39b794905b679ff061e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release files / crewai_perseus_vault-0.1.1-py3-none-any.whl

Download URL crewai_perseus_vault-0.1.1-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4728ecace692033d765042a43bd0dc8186cf944a343e52efecbab90805c11751
BLAKE2b-256 checksum
How to use checksums
afe5e8775f4042861306e322b31d5e07e173b62deb24819bcf0a70f5640006e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page