Nocturne Memory MCP
A self-hosted MCP server for long-term agent memory: structured records, versioned rollback and a visual dashboard
- 1,427 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs a local server and database on the user's machine
- Reads and writes persistent memory, with the agent making changes itself
Install
- Works in
Manual install
git clone https://github.com/Dataojitori/nocturne_memory.git
cd nocturne_memory
pip install -r backend/requirements.txtFirst step: clone and install dependencies. Needs Python 3.10 or newer, plus Node.js for the first dashboard build.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs a local server and database on the user's machine
- Reads and writes persistent memory, with the agent making changes itself
This is third-party code. Review the repository files before installing.
What it does
The server keeps an agent's long-term memory separate from the model and serves it over MCP, so the same records are reachable from different clients and models. Memory is a tree of records addressed as memory://, each with content, metadata and a condition for when it should be recalled. In a new session the agent loads only the specified root records and pulls the rest on demand through the read_memory and search_memory tools. Every change the agent makes is stored as a separate version that can be diffed in a visual dashboard and accepted or rolled back. Data lives in SQLite or PostgreSQL, and namespace isolation supports several independent memory sets.
Who it is for. For developers and enthusiasts who want a shared long-term agent memory that carries across models and clients.
Good fit when
- You want the agent to keep context and preferences across sessions and model switches
- You need memory with version history where changes can be reviewed and rolled back
- You need several separate memory sets via namespaces
Not a fit when
- The client's built-in memory is enough and a separate service is unnecessary
- You cannot keep a locally running server and database
Example request
Read system://boot and remind me what we agreed on last timeMCP
- Transport
- stdio, sse
- Authentication
- not required
Limitations
You deploy the server yourself: it needs Python 3.10 or newer, the backend dependencies, and Node.js for the first build of the dashboard. The public misaligned.top endpoint is a read-only demo; run your own instance for write access. The main README is in Chinese, with the English version in README_EN.md. Some README examples contain explicit role-play content.
How to disable. Remove the nocturne_memory entry from the client's MCP configuration and stop the local server. Memory data stays in the database file until you remove it yourself.
FAQ
Is memory tied to one model?
No. Records live in a separate MCP server available to any MCP-capable client, so context survives a model switch.
Can I try it without installing?
There is a public demo server at misaligned.top, but it is read-only. Full use needs your own instance.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server for long-term agent memory: compresses dialogues into atomic facts, resolves pronouns and anchors relative time to absolute dates
A self-hosted MCP memory server that keeps preferences and decisions across conversations in Claude Code, Cursor and other clients
Self-hosted long-term memory for agents: semantic search, a knowledge graph and autonomous consolidation over MCP and a REST API
A long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary
A long-term memory system for AI agents: the agent stores experience and facts, then retrieves them through a built-in MCP server
An MCP server for a project memory bank: the agent stores and reads memory files through one service instead of inside the project
README in short
The README presents an MCP-based long-term memory server for agents that stores records apart from the model so one memory set works across clients. Memory is a tree of addressable records with recall conditions; a new session loads only the root records and fetches the rest through read and search tools. Installation is two steps: clone with pip install of the backend dependencies, then add to the MCP config a python command pointing at mcp_server.py. It also documents a visual dashboard with the memory tree, version diffs and rollback, plus a read-only demo server. Data is stored in SQLite or PostgreSQL, MIT licensed.