Perseus Vault Codex
A tiny MCP server that wraps Perseus Vault to provide persistent, encrypted, local-first memory for OpenAI Codex agents, enabling them to remember project conventions, decisions, and context across sessions.
README
Perseus Vault Codex
Persistent, encrypted, local-first memory for OpenAI Codex agents.
Codex never forgets. Perseus Vault gives your Codex agent persistent encrypted memory — so it remembers your project conventions, past decisions, and debugging context across every session.
License: MIT · Built for OpenAI Build Week — Developer Tools track
The problem
Every Codex session starts from zero. The agent re-learns your build commands, re-discovers your conventions, and re-derives the same architectural context you explained yesterday. Memory is the missing primitive for coding agents.
Existing memory stores don't fit a developer's machine: mem0 is cloud-dependent, cognee is Python-only with no encryption at rest, Letta manages memory but doesn't encrypt local storage, Chroma is a vector DB, not structured agent memory. None are single-binary, zero-infra, and encrypted.
The answer
perseus-vault-codex is a tiny MCP server that wraps Perseus Vault
— a single 12 MB binary, fully local, AES-256-GCM encrypted at rest, with
FTS5 keyword + hybrid recall and no API keys, no cloud, no telemetry. Install
it and any Codex session gains five memory tools:
| Tool | What it does |
|---|---|
perseus_remember |
Save a fact, decision, convention, or gotcha across sessions. |
perseus_recall |
Retrieve relevant past context (FTS5 + hybrid ranking). |
perseus_forget |
Remove a stale or wrong memory. |
perseus_reflect |
Synthesize an insight from stored memories (RAG via your OpenAI/GPT-5.6 key). |
perseus_status |
Store health: memory count, encryption state, DB location. |
Install
# 1. Install the wrapper (zero Python dependencies)
pip install perseus-vault-codex # from PyPI, or from source (below)
# 2. Install the Perseus Vault binary (single static binary, no deps) and put it on PATH
# https://github.com/Perseus-Computing-LLC/perseus-vault/releases
# 3. Register it with Codex (non-destructive; backs up your config)
perseus-vault-codex-setup
Install from source (works today, before the PyPI release):
git clone https://github.com/Perseus-Computing-LLC/perseus-vault-codex
cd perseus-vault-codex
pip install -e .
perseus-vault-codex-setup
That's it. On first run the server auto-creates an encrypted vault at
~/.perseus-vault/codex/memory.db — no config required.
Configure in Codex
perseus-vault-codex-setup writes this into ~/.codex/config.toml:
[mcp_servers.perseus-vault]
command = "perseus-vault-codex"
args = []
Restart Codex (or start a new session) and the five perseus_* tools are
available. To enable perseus_reflect synthesis, expose your OpenAI key:
[mcp_servers.perseus-vault.env]
OPENAI_API_KEY = "sk-..."
OPENAI_MODEL = "gpt-5.6"
See examples/codex_config.toml for every option.
Example usage
Inside a Codex session:
you> Set up the project. First, check what you already know.
codex> [calls perseus_recall {"query": "project build and test conventions"}]
I recall from a previous session:
- This project formats with `ruff format` and lints with `ruff check`.
- We chose SQLite + FTS5 over Postgres for the local dev store.
Running `ruff check` before I start...
you> We just decided to switch auth to short-lived JWTs with refresh tokens in Redis.
codex> [calls perseus_remember {"category": "decision", "key": "auth",
"text": "Auth uses short-lived JWTs; refresh tokens live in Redis."}]
Remembered. I'll apply that convention going forward — including in
future sessions.
Tomorrow, in a brand-new session, perseus_recall "auth" returns that
decision. The context survived.
Try the demo
PERSEUS_VAULT_BIN=/path/to/perseus-vault python scripts/demo.py
It simulates two separate Codex sessions: session 1 learns three project facts
and tears the vault process down completely; session 2 — a fresh process —
recalls them, reflects on them, and reports encrypted status. Sample output is
in docs/.
Architecture
Codex (GPT-5.6) ──MCP stdio──▶ perseus-vault-codex ──MCP stdio──▶ perseus-vault binary
5 tools (this package) 55+ tools SQLite+FTS5, AES-256-GCM
Two hops on purpose: Perseus Vault exposes 55+ low-level memory tools; this
package collapses them into five verbs a coding agent can reason about, and the
binary does the encrypted storage and retrieval. Full write-up:
docs/architecture.md.
Benchmarks
Measured against the real perseus-vault binary (v2.17.0), encrypted at rest —
full methodology and reproducible harness in benchmarks/:
- Recall is fast and accurate at scale. Seeding 10,000 developer memories, recall runs at p50 7 ms (p95 27 ms) with 5/5 recall@10 on distinctive needle memories (1,000-memory corpus: p50 1.3 ms). The recall hot path — what a Codex agent hits every task — stays in single/low-double-digit milliseconds.
- The engine scales to 1,000,000 memories. A separate 2× H100 validation
(run
#619,results/scale_1m_2xh100.json) embedded ~1M memories (995,562 persisted, 0 errors) and hit hybrid recall@5 = recall@10 = 1.00 over 2,000 semantic queries, at sub-second latency (p50 479 ms). This is an engine-scale result on GPU, not the laptop path — reported separately and honestly (keyword-only recall is near-zero on that semantic workload; hybrid carries it). - Persistent memory cuts context tokens ~72%. Over a 30-session horizon, recalling the top-k relevant memories per task uses 110,493 fewer tokens (72.5% reduction) than re-priming each new session with the full project knowledge base — per-unit token costs measured with tiktoken against real vault recalls.
Every number is measured or explicitly labeled as a stated assumption; nothing is
hardcoded. Reproduce with python benchmarks/bench_recall.py and
python benchmarks/bench_token_savings.py.
How Codex was used
Codex was used during Build Week as an implementation and verification partner.
In the final review session, it read the complete wrapper and its tests, ran the
suite against the real perseus-vault 2.17.0 binary, exercised the two-session
demo, and checked a unique marker was absent from the raw default database file.
It also hardened stdout-EOF recovery in the subprocess client and added a
regression test. Those are review-session contributions; this README does not
attribute all pre-existing code to that session.
See SUBMISSION.md for the precise verification record and
benchmark caveats.
Development
git clone https://github.com/Perseus-Computing-LLC/perseus-vault-codex
cd perseus-vault-codex
pip install -e ".[dev]"
pytest -q # unit tests (no binary needed)
PERSEUS_VAULT_BIN=/path/to/perseus-vault pytest -q # + integration tests
About
Built by Perseus Computing LLC. Perseus Vault is the only fully-local, encrypted memory store for AI agents, with existing integrations for Haystack, LangChain, LlamaIndex, CrewAI, Pydantic AI, and Google ADK. MIT licensed.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。