Cursor memory

Cursor memory that survives the chat. Give it a local store with receipts.

Engraphis connects to Cursor over MCP. 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.

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 Cursor can recall

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

1. Install

Install the MCP server

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

Create the local config

$ engraphis-init
3. Connect

Add the server to Cursor

{ "mcpServers": { "engraphis": { "command": "engraphis-mcp" } } }

engraphis-init writes ~/.engraphis/config.env, generates a local API token, and prints setup snippets for Cursor, Claude Code, Codex, Cline, Zed, and Windsurf. Add the snippet to ~/.cursor/mcp.json or .cursor/mcp.json, then restart Cursor. Check Cursor's current MCP documentation for the supported config location.

What Cursor can remember

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

Rules

Static guidance is not a decision log

.cursor/rules tells the agent how to behave. It does not record why the team moved from JWT to PASETO, when that changed, or which source supported the answer.

Config

Connecting a tool is not remembering

.cursor/mcp.json tells Cursor which MCP servers exist. Engraphis supplies the memory those servers read and write, scoped to the workspace and repository.

Chats

Cmd-K and agent mode start fresh

A new Cursor chat does not automatically carry the rationale from the last one. Engraphis lets the agent query the decision, its date, and its replacement.

Evidence

Recall comes with a source

The agent gets a citation and the local dashboard shows the record, scope, history, and recall rationale. If support is weak, the engine abstains.

Rules and a bigger context window are not a memory system

A Cursor rule is a good place for stable instructions: naming, commands, and review conventions. It is a poor place for the history of a decision. Editing a rule overwrites the old text, so the reason and the date disappear.

A Cursor chat is scoped to one task. When you open a new chat or switch to another repository, the agent does not automatically carry the rationale from the last one. It re-reads files and infers the reason again.

Dropping the whole repository into the prompt is expensive and noisy. A flat vector store is not a fix either: it can return a stale decision and its replacement together, with no validity window and no source you can inspect.

Engraphis gives Cursor 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.

Rules vs memory
Keep Cursor rules for stable instructions. Put decisions, reasons, and replacements in Engraphis, where the old fact can close instead of being overwritten.
Config vs content
.cursor/mcp.json connects the server. Engraphis holds the scoped content the server returns, so a config change does not erase the project history.
Repository scope
Workspace, repository, session, and record boundaries. Scratch work in one repo does not become a convention in another.
Refactor history
When a decision changes, the old fact closes and the replacement keeps the reason. As-of queries still show what was believed before.
Agent evidence
Recall returns citations the agent can inspect. When support is weak, the engine abstains instead of filling the gap with a plausible guess.
Local ownership
One SQLite file, local embeddings, Apache-2.0 core. Hosted sync and managed processing are separate opt-ins, not requirements for Cursor.

Compare the design choices with Engraphis and Mem0, read the Claude Code memory guide, or run the 12-point checklist.

Benchmark boundary

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

The published result is a narrow coding-memory fixture, not a general claim about Cursor or model quality. On the 18-question run, structure-aware chunking reduced mean retrieved top-5 context from 740.3 to 214.3 tokens per question while Recall@5 stayed at 1.000. The grounded-decision checks passed 11/11, including 6/6 abstention queries rejected.

The fixture is deterministic and offline. The reproduction command, checksum, counting method, and limitations are in the benchmark methodology.

Cursor memory questions

Does Engraphis replace Cursor rules?
No. Cursor rules are instructions for the agent. Engraphis is a separate memory store that the agent can query over MCP. Use both: rules for stable guidance and memory for scoped decisions, history, and evidence.
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.
Does it work with Claude Code, Codex, and Cursor?
Engraphis works with any MCP client. engraphis-init prints ready-to-paste configuration for Cursor, Claude Code, Codex, Cline, Zed, and Windsurf. One local store can serve all of them. 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 Cursor rule or project decision changes?
A rule edit overwrites the old text. Engraphis keeps the decision as temporal history, so the old fact closes and the replacement keeps its reason. A later Cursor chat can ask what changed and why.

Give Cursor a memory it can query, not just rules it must follow.

Free and Apache-2.0. Store one decision, open a new Cursor chat, and ask for the reason, the scope, and the source.

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.