Engram - Agent memory that knows what's still true

by
Engram is a self-hosted MCP server + dashboard that gives Claude Code, Cursor, Hermes, and any MCP agent shared memory over a git-backed folder of markdown. Most agent memory answers "what did I store?" Engram answers "what's still true?" Retire a price or a contract term and search stops surfacing it, then tells the agent what it skipped and why. Per-agent read/write tokens. Every write committed to git and attributed, with diffs. Reads your Obsidian vault as-is. MIT, one container.

Add a comment

Replies

Best

Hey all! This is my first launch ever. Been shipping apps for ages but never went the extra mile to show other people what I've done. So excited to share this one with you...

A few months ago one of my agents quoted a client a price we'd killed months earlier.

It wasn't a hallucination. The dead number was sitting right there in my notes, and search ranked it above the live one, because a retired price uses the word "price" just as often as a current one. That's the part I couldn't fix with a better prompt or a better embedding: a retired price and a live price are textually identical, so nothing at read time can tell them apart.

So the retirement has to be written down when it happens. That's Engram.

It's a folder of markdown, a git repo, and one MCP endpoint. Agents read and write through it. Every note gets an authority from its folder and frontmatter, plus optional valid_until and superseded_by. Search ranks by relevance × authority, withholds anything retired, and hands the agent a list of what it skipped with a reason - "expired 2026-06-01" - so it can say what it ignored instead of quoting it. One atomic brain_supersede retires the old fact and adds the new one in a single commit, so add-and-retire can't drift apart.

There's a live demo if you'd rather poke at it than clone: - open, no signup, resets a few times a day. Search 'retainer price' and watch the retired note get withheld.

I posted an early version on IndieHackers () and a few people pushed on the same gap - read-side ranking is worthless if the vault happily accepts the contradiction in the first place. An agent told "the price is now X" that can't overwrite a note it never read will just add a second one. So writes now refuse that and point at supersede instead.

Two ways to run it: hosted dashboard + HTTP MCP for a team, or a stdio server over a local folder for Claude Desktop or Cursor. Reads an existing Obsidian vault with no import step. Per-agent tokens are read-only or read-write, and every write is committed to git attributed to whichever agent made it, so the dashboard doubles as an audit trail with per-file diffs.

Clone it and run `bun dev` - the sample vault ships with a retired price and its replacement, so you can search `acme price` and watch the dead one get withheld.

Happy to answer anything. The piece I'm least sure generalizes is the validity model past my own vault, so if it breaks against how you keep notes, that's what I most want to hear.

Cograts on the launch, love the idea! Since i currently mostly work in Claude Cowork which needs a public HTTPS endpoint rather than local stdio, is the hosted dashboard + HTTP MCP mode ready for that today, or is self-hosting on something like Railway still the only path for Cowork users?

 It fully works as HTTP MCP endpoint, you just need to self-host that :)

Then you can connect it to whatever you like - Claude Code, Cowork, regular chat, Codex, Hermes, etc.

finally something that handles stale memory properly, the "what's still true" framing hits a real pain point. love that it reads my obsidian vault as-is without import steps.

 Retiring old knowledge is the biggest ROI of this tool from using it within my team by far, I was surprised nobody else hadn't made it into a standard before. I've only heard of a couple teams who'd scrapped together internal solutions that kinda did that

honestly the "what's still true" framing is what got me - the fact that it retires old info instead of just burying it is kind of a big deal for agents that keep hallucinating outdated facts. set it up in like 10 minutes with my existing obsidian vault, runs clean.

 Glad to hear it's working well for you :)

 I think you're one of the first people to actually try it. Let me know if you face any issues anytime if you keep using it!