notsointresting
notsointresting000
Sahill S.
All work

mnemex

Local memory for AI coding agents that pins every decision to the code symbols it governs.

Domain
Agent memory
Built with
Python, MCP, SQLite FTS5
Source
github.com/notsointresting/mnemex
Black keycap engraved with an ampersand

The problem

Agents remember decisions as sentences ("auth is stateless") but lose track of which code the decision covered and when that code changed.

How it works

  1. Indexes Python and TypeScript symbols, imports and calls into one local SQLite file.
  2. Anchors each decision to symbol content hashes and reports it as fresh, stale or orphaned.
  3. FTS5 and BM25 search for sub-millisecond retrieval, with 56× token compression over raw session history.
  4. MCP tools over stdio and local HTTP, plus a diagnostic CLI, mnemex doctor.

Where it landed

No network calls, no embedding model, no telemetry, and secrets redacted before storage. Runs on Python 3.10 to 3.13.

Stack

  • Python
  • MCP
  • SQLite FTS5
  • BM25
  • AST parsing
Next projectgemini-tts-mcp