PlugWiki
nocturne_memory logo

Nocturne Memory MCP Server: Long-Term Memory for Your AI Assistant

CommunityLocal

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.

Install nocturne_memory MCP

Claude Code

  1. 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. 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_memory

  • Saves 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_memory

  • Edits 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_memory

  • Removes 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_memory

  • Adds 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_alias

  • Adds 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_triggers

  • Searches 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

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

Technical details
Turning on read-onlySet 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 toRuns 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 keysNo sign-in for local stdio use. Remote mode needs an API_TOKEN of at least 32 characters, sent as a Bearer header.
Data retentionMemories 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

WebsiteGitHubChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 4
  1. README_EN.md · github.com
  2. mcp_server.py · github.com
  3. config.py · github.com
  4. TOOLS.md · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.