Codex memory

Codex memory across sessions. Give it a local store with receipts.

Engraphis connects to Codex over MCP using the published Codex recipe. It stores scoped project decisions in SQLite, keeps temporal history, and returns cited context or abstains when the evidence is weak. The local core is Apache-2.0.

Python 3.10 or newer. No cloud account or API key is required for local use.

Want hosted memory health and scheduled upkeep? Start a 7-day Pro trial

127.0.0.1:8700 / memories
Engraphis local dashboard showing scoped memories and their relationships
Actual Engraphis dashboard · local workspace View full-size capture

Three steps to a memory Codex can recall

Install the MCP server in the Python environment Codex will use, initialize the local store, then add the server to your Codex MCP configuration.

1. Install

Install the MCP server

$ pip install "engraphis[mcp]"
2. Initialize

Create the local config

$ engraphis-init
3. Connect

Add the server to Codex

$ codex mcp add engraphis -- engraphis-mcp

engraphis-init writes ~/.engraphis/config.env, generates a local API token, and prints a ready-to-paste Codex snippet. Either run codex mcp add engraphis -- engraphis-mcp or paste the printed snippet into your Codex MCP configuration, then run /mcp in Codex to confirm the server is connected. Check Codex's current MCP documentation for the supported config location. engraphis-mcp is the stdio server command the snippet launches, and one local store can serve every client with a named recipe.

What Codex can remember

Memory is most useful when it carries the decision, the reason, the scope, and the date. Engraphis stores all four.

Decisions

Why the architecture changed

Store the decision, the trade-off, and the date. Ask later why the team moved from JWT to PASETO without re-reading the whole history in a new session.

Scope

How this project works

Keep the package manager, test command, migration order, and review conventions bound to the workspace and repository instead of repeating them in every Codex session.

History

What changed and when

Superseded facts close instead of disappearing. A later query can still inspect what was believed before, when it stopped being true, and what replaced it.

Evidence

Which memory supported the answer

Recall returns citations, and the dashboard shows the record, its scope, its history, and the recall rationale. If support is weak, the engine abstains.

Why a bigger context window is not enough

A Codex session is the boundary. When the session ends or a compaction runs, the reasoning that shaped the code goes with it. The next session re-reads files it already understood, then infers the reason behind them.

Adding more files to the prompt is expensive and noisy. A flat vector store is not a memory system either: it can return a stale decision and its replacement side by side, with no validity window and no clear provenance.

A wrong inference does not raise an error. The diff stays small and tidy, and a reviewer who does not hold the timeline in their head approves it.

Engraphis gives Codex a separate memory tool over MCP. The decision is a scoped record with a date, a reason, and a successor. The agent can ask for it, cite it, or abstain when the evidence is weak.

What makes Engraphis different

Local-first storage and coding-agent scope are the baseline. The temporal and evidence layers are what make recall useful for engineering work.

Project scope
Workspace, repository, session, and record boundaries. Scratch work in one project does not become a convention in another, and cross-project recall is a choice rather than an accident of similarity.
Temporal history
World-time and system-time validity. A superseded decision closes instead of competing with its replacement, and as-of queries still show what was believed before.
Cited recall
Returned context carries the record it came from, so an answer can be checked instead of trusted. Vector, FTS5/BM25, Personalized PageRank, and AST code-symbol bridges are fused with Reciprocal Rank Fusion.
Abstain
When support is below the floor, the engine abstains instead of filling the gap with a plausible guess. A fluent answer with no source is the failure mode this is designed to avoid.
Inspection
The local dashboard shows memories, timelines, graph relationships, recall rationale, and audit events at 127.0.0.1:8700.
Ownership
One SQLite file, local embeddings, Apache-2.0 core. Hosted sync and managed processing are separate opt-ins, not requirements for Codex.

Run the 12-point agent memory checklist on one repository, compare the design choices with Engraphis and Mem0, or read the Claude Code memory guide and the Cursor memory guide.

Benchmark boundary

The published result is deliberately narrow. It is a coding-memory fixture, not a general task-performance claim.

FixtureResultQuality check
Structure-aware chunkingMean retrieved top-5 context: 740.3 to 214.3 tokens per question (71.1% lower, 18 questions)Recall@5 = 1.000 in both modes
Grounded decisions5/5 answerable queries grounded; 6/6 abstention queries rejected11/11 decisions correct

These are small deterministic offline fixtures and say nothing about Codex or model quality. The code and reproduction command are public in the repository. See the benchmark methodology for the checksum, counting methods, and limitations.

Codex memory questions

Does Engraphis replace Codex's own context or project instructions?
No. Engraphis adds a separate local memory layer that Codex can call over MCP. It does not modify Codex itself, and you can keep using your existing project instructions and tools.
Is my code sent to a server?
The local core runs on your machine with SQLite and local embeddings. Hosted sync and managed processing are separate, explicit opt-ins. You can use the local core without a cloud account or API key.
Which clients do the released setup recipes name?
The published setup recipes name Claude Code, Cline, Codex, Cursor, Windsurf, and Zed. Those are named configuration recipes, not exhaustive MCP compatibility or current client testing. Check your client's current MCP instructions for the exact config location.
What does it cost?
The local core is free and Apache-2.0. Pro is $10 per month or $100 per year with a 7-day trial. Team is $20 per seat per month or $200 per seat per year with a 14-day trial. Trials require email verification and no card.
What happens when a Codex session ends or a decision changes?
Engraphis keeps temporal history. A superseded fact is closed instead of silently overwritten, so a later Codex session can inspect what was believed before, when it changed, and which record supported it.

Give Codex a memory that survives the session.

Free and Apache-2.0. Store one decision with its reason and date, open a new Codex session, and ask why it was made.

Optional Pro: seven-day trial after email verification; no card required. $10/month or $100/year when you subscribe. Pro and Team include up to 500 managed Jev calls per person per day; calls pause at the daily limit.