Returning titles and timestamps from the list call, and bodies only on request, is what keeps a growing memory store from eating the context window every time the assistant checks what it knows. The web interface earns its place too: memory that only an assistant can read is memory you cannot correct. If several assistants are open at once they share one server and one database, so a note written in one shows up in the other.
A memory server that keeps titled notes in a local database and gives the assistant four tools to work with them, plus a fifth that opens a browser interface for editing them yourself. Storing is deliberately two-step: the assistant asks for a title first, then the content.
- `store_memory` saves a new note, requiring both a title and content
- `list_memory_titles` returns the titles and timestamps only — not the bodies — so listing stays cheap in context
- `get_memory_by_title` pulls the full content of one note once you know which one you want
- `delete_memory` removes a note
- `open_memory_web` starts the local web interface and opens a browser at it, triggered by asking the assistant to open memory
- The web interface adds full-text search across titles and content, drag-to-reorder, and copy, edit and delete on each card
- A single-instance design: several assistants connecting at once share one running server and one database rather than starting rival copies
Node.js 16.0.0 or higher. Clone the repository, run `npm install` and `npm run init-db` to create the database, then point the client at `start-mcp.js` with the project directory as `cwd`. The published package is `simple-memory-mcp`, version 1.3.0. The web interface defaults to `http://localhost:8011` and moves to another port automatically if that one is taken.
Build from source — clone the repository and build it, then point your client at the binary
