Nocturne Memory: Long-Term Memory Server for MCP Agents
Give your AI persistent, cross-session memory with rollback and visual audit — a drop-in replacement for OpenClaw.
- Source repo
- Dataojitori/nocturne_memory
- Stars
- ★ 1.4k
- Last updated
- 26d ago
- License
- MIT
- Primary language
- Python
- FA score
- 56/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free, no paid service needed
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- Individuals who want their AI assistant (e.g., ChatGPT, Claude) to remember preferences across sessions
- Not a fit if
- Users who want a managed cloud service instead of self-hosting
- Teams that cannot install Python 3.10+ and Node.js locally
- Users on clients without MCP support who won't edit configs
- Source review
- 56/100 · Major gaps
What does this agent do, and when should you use it?
Nocturne Memory is a long-term memory server built on the Model Context Protocol (MCP). It provides AI agents with persistent, graph-structured memory that works across models and sessions, eliminating amnesia. Unlike vector RAG, it uses URI-based hierarchical routing for precise retrieval and supports conditional triggers. The system includes a visual dashboard for humans to browse, edit, audit, and rollback AI memories. It installs in two steps and works with any MCP-compatible client. The project emphasizes first-person sovereign memory, allowing AI to autonomously manage its own memories. It is ideal for users who want their AI to have a stable identity and genuine long-term growth.
Nocturne Memory runs as an MCP server exposing 7 tools: read_memory, create_memory, update_memory, delete_memory, add_alias, manage_triggers, and search_memory. Memories are stored in a graph-topology backend (SQLite/PostgreSQL) and addressed via URI paths like core://agent/identity. The dashboard (React frontend) provides visual exploration, editing, and audit with snapshot-based rollback. It supports stdio, SSE, and Streamable HTTP transports, and offers namespace isolation for multiple AI personas. On installation, it auto-builds the frontend and opens the dashboard. AI can autonomously create, update, and delete memories; each modification triggers a snapshot for human review.
- Individuals who want their AI assistant (e.g., ChatGPT, Claude) to remember preferences across sessions
- Developers who switch between LLM providers (e.g., Claude to Gemini) and need a consistent AI identity
- Creators managing multiple AI personas (e.g., Alice and Bob) with isolated memory spaces
- Enterprises needing a visual audit trail and rollback for AI memory
- AI developers dissatisfied with Vector RAG's limitations for structured memory
- Writers using AI to keep character consistency in novels
How do you install or deploy this agent?
- Clone the repo: git clone https://github.com/Dataojitori/nocturne_memory.git && cd nocturne_memory
- Install Python dependencies: pip install -r backend/requirements.txt
- Configure your MCP client. For Cursor, add to MCP config:
{
"mcpServers": {
"nocturne_memory": {
"command": "python",
"args": ["C:/your/actual/path/nocturne_memory/backend/mcp_server.py"]
}
}
}- Restart the client and connect. The first startup builds the frontend and opens the dashboard automatically.
How do you use this agent?
After connection, verify by asking your AI to 'Read system://boot. Tell me who you are.' Use the Dashboard to browse, edit, and audit memories. To enable proactive memory recall, copy the recommended system prompt from docs/system_prompt.md into your client's settings. Use system://diagnostic/core for memory health checks.
What are this agent's strengths and limitations?
- Model-agnostic memory that persists across providers
- Visual dashboard for human oversight and rollback
- Namespace isolation for multiple AI personas
- Structurally precise retrieval via URI routing, with conditional triggers
- Requires self-hosting, which may be complex for non-technical users
- Dependent on MCP client support; some clients have complex configuration
- Limited to SQLite/PostgreSQL backends; no managed cloud offering
- Requires Node.js for frontend build, adding deployment overhead
How does this agent compare with similar options?
Compared to Vector RAG or OpenClaw's native memory, Nocturne Memory offers structured, rollbackable, and auditable memory management with first-person sovereignty.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Nocturne Memory: Long-Term Memory Server for MCP Agents This agent | 56 · Major gaps | MCP serverFree | ★ 1.4k | 26d ago | Python | — |
| Mnemosyne | 59 · Major gaps | CLIFree | ★ 3.5k | today | Python | Codex · Claude Code |
| MemoryOS: A Memory Operating System for Personalized AI Agents | 31 · Major gaps | Library / SDKFree + model costs | ★ 1.6k | 3mo ago | Python | OpenAI API |
| WhoDB | 51 · Major gaps | Self-hosted serviceFreemium | ★ 5k | today | Go | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: rollback functionality is provided (snapshots, diff, one-click rollback), tests cover rollback scenarios, so rollback scores 3. User confirmation: Dashboard cleanup requires human confirmation, but MCP tools lack confirmation mechanisms, so scores 2. Least privilege: MCP tools provide 7 operations but no explicit permission levels, scores 1. Data flow transparency: README describes data flow but lacks detailed logging or audit, scores 1. Sensitive data handling: no mention of encryption or anonymization, scores 1. Dependency security: no mention of dependency auditing or vulnerability scanning, scores 1. External effects: server can bind to 0.0.0.0 but requires token, scores 1. Source attribution: no clear data provenance or copyright, scores 1.
Evidence shows: README and code structure are consistent, tests cover main APIs, self-consistency scores 2. Dependency availability: requirements.txt exists but version compatibility not verified, scores 2. Failure messages: tests check error messages but not comprehensively, scores 2.
Evidence shows: README clearly identifies target users (MCP client users) and scenarios (long-term memory), scores 2. Capability boundaries: tool list is clear but no explicit limits, scores 2. Trigger precision: disclosure mechanism described in detail, scores 2. Environment fit: supports multiple clients and deployment methods, scores 2.
Evidence shows: information architecture is clear with README, docs, tests, etc., scores 2. Install notes are detailed, scores 2. Naming stability: tool names and URI patterns are consistent, scores 2. Examples and FAQ: README has examples but no FAQ, scores 2. Known limitations: not explicitly listed, scores 1. License: MIT license present, scores 2. Versioning changelog: no CHANGELOG provided, scores 1. Maintenance responsibility: no clear maintainer or contribution guide, scores 1.
Evidence shows: output usability: tools return structured data, scores 2. Marginal value: provides unique features (e.g., conditional triggers), scores 2. Cost benefit: open-source free but deployment requires some technical skill, scores 2.
Evidence shows: claim traceability: examples in README lack sources, scores 1. Cross-source corroboration: only single source, scores 1. Fact-inference separation: README distinguishes facts and opinions but not clearly, scores 1.
- No CHANGELOG or version history provided, making it hard to track changes.
- Known limitations are not explicitly listed, users may encounter unexpected issues.
- Dependency security is not mentioned; it is advisable to check for dependency vulnerabilities.
- Sensitive data handling is not described; if storing sensitive information, caution is needed.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
2.5.6 MCP 2.0 Compatibility & Long-Form Improvements
Release notes excerpt
Nocturne Memory 2.5.6 现已发布。 中文 - 兼容 MCP 2.0 的 Python SDK,同时继续支持旧版本。 - 记忆诊断新增过长记忆检测,帮助发现需要拆分或清理的内容。 - 前端右上角的设置里可以调整过长记忆的检测阈值。 - AI读取大型记忆时会向AI显示内容体积。 - update_memory tool 支持用 ... 定位和替换长段落。 English - Added compatibility with the MCP 2.0 Python SDK while retaining support for older versions. - Added oversized-memory detection to diagnostics, making it easier to find memories that should be split or cleaned up. - Added a setting for adjusting the oversized-memory detection threshold. - Content size is now displayed when AI reading large memories. …View on GitHub ↗ -
2.5.4 2.5.4 — Boot 预设切换 & 孤儿恢复
Release notes excerpt
✨ 启动预设:可以同时存多套配置了 / Boot URI Presets 你现在可以同时保存好几套Boot记忆的预设了(比如一套日常用,一套工作用,一套酒馆用),在面板里点一下就能一秒来回切。你以前的旧配置,系统已经自动帮你存成预设了。 You can now hold multiple boot memory presets and toggle between them instantly. Your legacy configs are safely auto-migrated. 🧹 大脑清理与孤立记忆捞回 / Maintenance & Orphan Recovery 优化了大脑清理页面的操作体验,支持按记忆分组一键清空。 最重要的是,本版本全新加入了“捞回记忆”功能——你现在可以安全地把被删除的记忆(孤儿记忆)重新挂载回图谱。 Access log clearing is now global. More importantly, we introduced the Restore Orphan feature—you can now safely recover detached memories. 🌐 Domain 管理整合进浏览器 / Consolidated Domain UI …View on GitHub ↗ -
2.5.2 2.5.2 — 重大Bug修复 & 中文支持
Release notes excerpt
🐛 修复:升级后页面没变化 / Fix: UI not updating after upgrade 之前版本升级后,打开面板可能还是旧界面。现在升级后刷新页面就能看到最新版本。 Previously, the dashboard could still show the old UI after upgrading. Now refreshing the page will always load the latest version. 🌐 面板支持中文了 / Chinese locale support Settings 里新增语言切换,选中文即刻生效,不用重启。 New language switcher in Settings. Select Chinese and it takes effect instantly — no restart needed. 其他改进 / Other improvements - 空的 Domain 现在可以直接在面板里创建第一条记忆了 / Empty domains can now create their first memory directly from the dashboard …View on GitHub ↗