
Nocturne Memory MCP Server: Long-Term Memory for Your AI Assistant
Gives Claude, Cursor, Codex and other assistants a long-term memory that persists across chats and models.
Nocturne Memory stores what your assistant should remember as a tree of linked notes. Your assistant reads, writes, searches and prunes them through 7 tools. A web dashboard lets you browse the notes, review each change and roll it back.
You run it yourself. Clone the repo, install the Python packages, and point your client at one script. It needs Python 3.10 or later and Node.js, which builds the dashboard on first start. Data stays in a local SQLite file unless you choose PostgreSQL.
Good for
- People who want one assistant memory shared across tools
- Developers who can run a Python project locally
- Writers and game designers keeping story or world notes
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install nocturne_memory MCP
Claude Code
- 1
Copy this prompt.
Add the nocturne_memory MCP server to Claude Code. Run this command: claude mcp add nocturne-memory -- python /path/to/nocturne_memory/backend/mcp_server.py Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Python 3.10+, Node.js, Clone of the repo.
Read-only mode: Set the environment variable PUBLIC_READONLY_MCP=true before starting the server. In the code this hides the five write and delete tools.
First clone the repo and install packages: git clone https://github.com/Dataojitori/nocturne_memory.git, then pip install -r backend/requirements.txt from inside it. Replace the path with the real absolute path to backend/mcp_server.py. If you use a virtual environment, set the command to that environment's python. Antigravity on Windows must use backend/mcp_wrapper.py instead.
Built from the package data we hold. Not yet tested by us.
Tools
Reads a memory or a system view
Opens one memory by its address, such as core://agent. Special addresses load boot memories, an index, recent changes, the keyword glossary or a health check.
Try: “Read system://boot and tell me who you are.”
Read ·
read_memorySaves a new memory
Creates a memory under a parent address, with a priority and a trigger condition that says when it should come up.
Try: “Remember that I prefer short answers, under core://my_user.”
Write ·
create_memoryEdits an existing memory
Changes a memory by replacing a passage or appending text. There is no full-replace mode, and it can also reset priority and disclosure for one path.
Try: “Add that I moved to Berlin to my profile memory.”
Write ·
update_memoryRemoves a memory path
Cuts one address to a memory permanently. If that would orphan child memories, it refuses and lists them first.
Try: “Delete the outdated note at core://agent/old_note.”
Delete ·
delete_memoryAdds a second address to a memory
Makes another address point to the same memory, with its own priority and trigger. It is not a copy, and children are mirrored.
Try: “Add an alias for this memory under core://timeline.”
Write ·
add_aliasAdds or removes keyword links
Binds keywords to a memory so a link to it shows when that word appears in other memories. It returns the current trigger list.
Try: “Add the trigger "Nginx" to the server setup memory.”
Write ·
manage_triggersSearches memories by keyword
Runs full-text substring search over memory paths and content, optionally limited to one domain. It is not semantic search.
Try: “Search my memories for "chapter 3" in the writer domain.”
Read ·
search_memory
Read from the source code
Permissions
high risk · 4 things to watch · 1 advisory
High risk
It can read, change and permanently delete the notes your assistant keeps about you. Back up the database file, and review changes in the dashboard.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It can delete memories, not just read them
delete_memory permanently removes a memory path. The README says changes are backed up and can be reviewed and rolled back in the dashboard, so check there if something goes missing. github.com
The assistant can rewrite its own memory
create_memory, update_memory, add_alias and manage_triggers change what your assistant believes about you. Review changes in the dashboard from time to time. github.com
A dashboard and REST API start with the server
Stdio mode starts a local web server on 127.0.0.1 port 8233 and opens your browser by default. Without an API token, any program on your computer can reach it. Leave the host at 127.0.0.1. github.com
Remote mode exposes your memories to the network
If you set the host to 0.0.0.0 for remote access, the server refuses to start without an API token. Use a long random token and HTTPS. github.com
Security advisories
1 other advisory is about the wider nocturne_memory project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | Set PUBLIC_READONLY_MCP to true (config key public_readonly_mcp). In the code this leaves only read_memory and search_memory. The README does not describe it. |
|---|---|
| Talks to | Runs on your machine by default; the dashboard and REST API listen on 127.0.0.1:8233. Optional remote mode opens the same port to other machines and then requires an API token |
| Sign-in and keys | No sign-in for local stdio use. Remote mode needs an API_TOKEN of at least 32 characters, sent as a Bearer header. |
| Data retention | Memories are kept in a local SQLite database by default. |
Questions
Is Nocturne Memory official?
No. It is a community project by Dataojitori, not made by Anthropic, OpenAI or any client vendor. It does not connect to another product, so there is no vendor server to compare it with.
Does it need an API key or account?
No. Local use needs no sign-in. Only remote mode needs an API token, which you create yourself in the dashboard settings.
Which apps can use it?
Any app that can run a local MCP server. The README lists Claude Code, Claude Desktop, Cursor, Windsurf, GitHub Copilot, Cline, OpenCode, Gemini CLI, OpenAI Codex, Cherry Studio and Antigravity. Web-only chat apps need the remote mode.
Can I make it read-only?
Yes, in the code. Setting PUBLIC_READONLY_MCP to true leaves only the read and search tools. The README does not describe this setting.
Where is my data stored?
In a SQLite file on your computer by default. You can point it at PostgreSQL with the database URL setting.
Is there a public demo I can try?
Yes. The README lists a read-only demo server at misaligned.top that needs no sign-in, with only the read and search tools. Do not put private data in it.
Can I undo a deleted memory?
The README says every AI operation is backed up and can be rolled back from the dashboard review page. Check it before relying on that for important notes.
Information
updated Nov 2, 2026
- Publisher
- Community
- Transport
- stdio, SSE, Streamable HTTP
- Auth
- None
- License
- MIT
- Last commit
- Sep 22, 2026
- Open issues
- 5
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- README_EN.md · github.com
- mcp_server.py · github.com
- config.py · github.com
- TOOLS.md · github.com