iai-pme (Personal Memory Engine)
A local-first memory engine for MCP-compatible coding assistants (Claude Code, Cursor, Codex): it records every turn verbatim, consolidates the record while idle, and injects relevant context at session start. MIT, ~423★, solo-maintained by Areg Aramovich Noya, declared stable with a 1.x API commitment. Python 3.11+ with a Rust core.
“Personal” here means the assistant’s memory of you, not a PKM tool you read — the distinction that keeps it in this spoke rather than research-wiki’s gbrain/llm-wiki lineage.
What makes it different from the rest of the layer
The existing instances on agent-memory are stores: put things in, search them out (seekdb a database, memory-vault pgvector over MCP, recall markdown over hooks). This one models memory as processes, and borrows the structure from human memory research:
- Episodic — timestamped verbatim fragments, write-once, never rewritten.
- Semantic — summaries induced from related episodes during idle consolidation.
- Procedural — stable learned parameters about the user (11 configurable knobs).
A “hyperdimensional substrate” (their Lilli HD) keeps the three separate so episodic detail,
semantic gist and procedural habit don’t collapse into one representation. That episodic/semantic/
procedural split is Tulving’s taxonomy out of cognitive psychology, arriving here as a software
architecture — an unusually literal borrowing, and the seam with ../psychology-wiki.
Three behaviours follow that a store doesn’t have:
Consolidation. Nightly, episodes induce semantic summaries — the memory reorganizes itself when nothing is asking it anything.
Decay. Unreinforced connections fade during consolidation. Pinned memories resist; marked ones queue for dissolution. Forgetting is a feature with a schedule, which nothing else in this layer attempts.
Contradiction surfacing. Recall returns matching memories and the contradictions, so a superseded fact doesn’t quietly win. That’s the staleness problem bi-temporal graphs solve with validity intervals, solved instead by handing the conflict to the model.
Retrieval and storage
Recall combines semantic similarity + graph-link strength + recency. Capture is ambient — a
per-turn hook appends to a session buffer in ~5ms with no embedding, and a session-end hook rolls
the buffer for processing, so nothing is asked of the user. Underneath: Hippo, a custom
encrypted store (SQLite + AES-256-GCM) holding both a vector index and a graph; MOSAIC, an
in-house Leiden-family community-detection algorithm with a CPM objective — the same clustering
step GraphRAG uses to summarize a corpus, here applied to a personal history.
Embeddings are bge-small-en-v1.5 (384-dim) computed locally by a Rust embedder over Candle, with
an HTTP provider protocol if you want to swap it.
Local by construction: key at ~/.iai-mcp/.key (0600), no telemetry, no cloud, no API keys.
Optional nightly LLM consolidation runs on an existing Claude subscription, capped at ≤1% of daily
quota.
It publishes numbers
Rare enough in this corpus to record. On LongMemEval-S: R@5 0.962, R@10 0.978; Rescue@10 1.000 (current facts reach the top 10 after a contradiction); historical-verbatim recall 1.000. Retrieval costs ~350 tokens against ~2,850 for agent search, an ~88% reduction. Latency 77ms at 1K records, 368ms at 10K.
Still vendor-run, but on a named public benchmark rather than an internal harness, which is a rung above the self-reported claims most of this spoke’s tools offer. The token-efficiency figure is the one to treat carefully: it compares against an unspecified “agent search” baseline.
Stated limits
English-only by design, no cross-machine sync (cp -a ~/.iai-mcp/ is the backup story), poor
recall for the first ~10 sessions because there is nothing to consolidate yet, seconds-long cold
start while the embedder initializes, Windows in beta. Solo-maintained with no enterprise SLA.
Tier
T3 — a project README, self-described, with the benchmark numbers run by the author. The architecture is specific enough to check and the limitations section is unusually candid, but nobody independent has exercised it.
Related
agent-memory · memory-vault · recall · seekdb · model-context-protocol · temporal-knowledge-graph · graphrag · leiden-algorithm · synthesis