Open-source · local-first · MCP-compatible

Your AI coding tools forget. This remembers.

Persistent Memory MCP keeps durable project memory, retrieves only the repository evidence an agent needs, tracks code evolution with Git-grounded provenance and exposes a bounded localhost operational map for risk and affected areas.

Local project continuity
$ memory-mcp doctor
[ok] Python 3.12
[ok] local SQLite ready
[ok] OWNER_ID configured

You: Resume this project.
AI: Loaded the latest bounded Context Packet.
    Evidence: verified
    Next safe action: continue token rotation.
Without persistent memory

“Can you explain the repository, architecture and previous decisions again?”

With Persistent Memory MCP

“I loaded the relevant checkpoint, current warnings, affected symbols and verified evidence inside the requested budget.”

One durable local context layer for AI coding agents

Keep project reasoning structured, searchable and portable while preserving explicit limits, provenance and privacy.

Cross-client continuity

Continue the same project across compatible MCP clients without reconstructing every previous chat.

SQLite-first privacy

Use private local SQLite by default with project/owner isolation and localhost-only operational views.

Verified project memory

Store decisions, tasks, warnings, checkpoints and file relationships alongside provenance state.

Progressive repository retrieval

Expand map → files → symbols → exact fragments instead of loading whole repositories.

Persistent symbol history

Track moves, renames and modifications across commits while preserving logical identity when evidence permits.

Regression gates

Measure retrieval quality, token fit, provenance, adversarial safety and operational-map bounds in CI.

A measurable Context Compiler

Context Packet v1 filters, ranks, verifies and packs the minimum useful context under a hard final serialized token budget.

1.0

File recall@5

Initial deterministic quality corpus baseline.

1.0

Symbol recall@8

Expected symbols remain recoverable under bounded retrieval.

77.22%

Token savings

Average v1 corpus savings versus the supported-repository baseline.

Quality #262 also requires full token fit, provenance coverage and safety pass rate, plus adversarial cases for expired/untrusted memory, prompt injection, dirty cursors, rename continuity and contradicted/stale evidence.

Operational map and risk-oriented Galaxy

Inspect persisted project risk and current affected areas without turning the dashboard into an unbounded content browser.

Owner-scoped overview

See projects, blocked work, warnings, changed symbols and evidence health. Ambiguous multi-owner databases fail closed unless an owner is configured.

Bounded impact graph

Navigate project → repository → file → symbol → verified task/decision/evidence relationships with hard node and edge limits.

Risk and verification filters

Filter by verified, stale, contradicted, missing-source or unverified evidence plus critical/high/medium/low risk.

154 / 173

Full fixture graph

Nodes / edges for the 20-project cross-platform reference fixture.

55 / 74

Changed-area graph

Current-change filtering reduces the graph to the affected code/evidence area.

8.56 ms

Worst observed full graph

Slowest reference fixture observation across Ubuntu, Windows and macOS; not a production SLA.

Install and configure locally

The distribution is named persistent-memory-mcp.

1

Install

pipx install persistent-memory-mcp
2

Initialize

memory-mcp init

Creates private local configuration, initializes SQLite and generates MCP client configuration.

3

Validate

memory-mcp doctor
memory-mcp status
memory-mcp health

Standard MCP configuration

{
  "mcpServers": {
    "persistent-memory-mcp": {
      "command": "memory-mcp",
      "env": {
        "MEMORY_BACKEND": "sqlite",
        "OWNER_ID": "your-stable-local-identifier"
      }
    }
  }
}

Local-first by design

Read-only operational UI

The Dashboard/Galaxy binds to localhost and the operational map does not mutate, deploy or execute code.

Body-free graph payloads

Operational nodes omit full source bodies, task/decision details, session/checkpoint bodies and absolute repository roots.

Fail-closed evidence

Stale, contradicted, missing and unverified evidence stays explicit instead of being silently treated as current truth.

Frequently asked questions

What is Persistent Memory MCP?

It is a Python MCP server that stores durable software-project memory and compiles bounded, provenance-aware context so AI agents can continue work across sessions and clients.

Where is memory stored?

SQLite is the default local-first backend at ~/.memory-mcp/memory.db. Optional self-managed remote adapters remain separate extras.

Does the operational map read my whole repository?

No. It projects already persisted SQLite/Git/symbol evidence. Repository retrieval itself is separately bounded and progressive, and the dashboard does not independently re-run live Git verification on every request.

Can the dashboard be exposed publicly?

The supported design is localhost-only. Public collaborative dashboards, team roles and multi-user SaaS features are outside the product scope.