by 28naem-del
Local-first long-term memory for AI agents: an MCP server, TypeScript SDK, CLI and HTTP service over one SQLite file. Evidence-backed recall, corrections that retire stale guidance, temporal history. 409/500 on LongMemEval-S with the misses published.
# Add to your Claude Code skills
git clone https://github.com/28naem-del/mnemosyneLast scanned: 10/21/2026
{
"issues": [
{
"type": "npm-audit",
"message": "source-map-js: source-map-js allows event-loop denial of service through indexed source-map section offsets",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite: launch-editor: escapeCmdArgs() omits % escaping on Windows",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-10-21T09:09:40.088Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how mnemosyne compares with popular alternatives.
mnemosyne is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by 28naem-del. Local-first long-term memory for AI agents: an MCP server, TypeScript SDK, CLI and HTTP service over one SQLite file. Evidence-backed recall, corrections that retire stale guidance, temporal history. 409/500 on LongMemEval-S with the misses published. It has 151 GitHub stars.
mnemosyne returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/28naem-del/mnemosyne" and add it to your Claude Code skills directory (see the Installation section above).
mnemosyne is primarily written in TypeScript. It is open-source under 28naem-del on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mnemosyne against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The next agent starts wiser.
Mnemosyne is local-first, long-term memory for AI agents: one SQLite file that keeps what an agent learned together with the evidence it came from, served to any host over TypeScript, MCP, CLI or HTTP. When a source is corrected, every memory that depended on it is retired, so the next agent starts from what is still true instead of repeating a stale lesson.
Mnemosyne connects memory to its consequences: a corrected requirement can retire a dependent procedure, a failed trial can withhold a skill, and a new agent can resume from an explicit handoff. Run the local engine in one SQLite file; connect your host through TypeScript, MCP, CLI, or authenticated HTTP with a Python client and live inspector.
2.0.0-rc.10 · Release candidate · MIT · Node.js ≥22.16
Website · Quickstart · Documentation · Examples · Migration · Measured results · npm · Contributing
npm install mnemosy-ai@2.0.0-rc.10 # prerelease channel: mnemosy-ai@next
npx --no-install mnemosy demo # offline: no API key, no server, no Docker
Give the memory to an MCP client. Claude Code reads .mcp.json in the project root and Cursor reads .cursor/mcp.json; both take the same server entry. The database file (mode 0600) and its parent directory (mode 0700) are created on first use. Relative paths resolve from the directory the client starts the server in; use absolute paths if your client launches servers elsewhere.
{
"mcpServers": {
"mnemosyne": {
"command": "npx",
"args": [
"-y", "-p", "mnemosy-ai@2.0.0-rc.10", "mnemosy", "mcp",
"--db", "./.mnemosyne/memory.sqlite",
"--workspace", "my-project", "--agent", "assistant"
]
}
}
}
Claude Code can register the same server from the shell:
claude mcp add mnemosyne -- npx -y -p mnemosy-ai@2.0.0-rc.10 mnemosy mcp --db ./.mnemosyne/memory.sqlite --workspace my-project --agent assistant
The server exposes 16 memory_* tools (memory_store, memory_recall, memory_context, memory_correct, memory_checkpoint, memory_resume, memory_observe, memory_skill, …); memory_forget is added only when the server is launched with --allow-destructive. Add --read-only to omit every mutation tool. A model cannot switch workspace, raise its own trust or report its own skill trials through MCP. Agent-readable summaries of this repository are in llms.txt and AGENTS.md; the full MCP contract is in Connect through MCP.
| What | Result | How it was measured |
|---|---|---|
| Answer accuracy, LongMemEval-S, all 500 questions | 409 / 500 correct (81.8%), Wilson 95% CI 78.2–84.9; exact match 7.6% | Mnemosyne reranked retrieval, top-20 hits packed to 16 KB, read by claude-sonnet-4.6, judged by claude-haiku-4.5. Prompt and budget were chosen on 100 of the questions; the other 400 score 82.3%. |
| Reranker gain, LoCoMo, 1,531 annotated questions | MRR@10 0.461 → 0.624, +0.163 (paired bootstrap 95% CI 0.146–0.181; 599 wins, 133 losses) | The same hybrid candidate set with and without the bundled cross-encoder, on the shipped build. |
| Against Mem0 OSS, same corpus, chunks, K, packing budget, scorer, one process | LoCoMo recall@10 73.57 vs 63.72 with reranking; our unreranked path loses to Mem0 at every K; on LongMemEval-S the two tie on recall@20 and Mem0 takes MRR | COMPARISON.md, every loss in the same tables |
What these numbers do not say. The 81.8% is not a paired gain over the earlier 71.2%: that baseline used a different 250-question sample, prompt and budget, so the improvement belongs to the whole bundle of changes. The reader is nondeterministic; rerunning one configuration moved its score by about a point. Retrieval numbers measure coverage, not answers. Two Tier 1 targets of this release are not met and ship disclosed: recall latency at one million records is p95 139–223 ms against a 50 ms goal (opt-in indexMode: 'hnsw', see Tune the dense index), and contextual reranking ships at 71.98% all-evidence hit against a 72.80% gate, 0.82 points (13 of 1,531 questions) short; the best variant tried was still four short and was not merged. Commands and raw outputs are in reports/t1-targets/evidence/ the answer-accuracy and gate results are restated with their commits in the changelog, and the Mem0 and reranker retrieval tables are in COMPARISON.md.
Both engines ship in 2.0.0-rc.10. Choose the storage and runtime that fit your application:
| Engine | Best starting point | SDK entry point | Guide |
|---|---|---|---|
| Vector Engine | An application using the existing service-backed memory architecture. Requires configured external services. | createMnemosyne from mnemosy-ai |
Working example · Version 2 changes |
| Local Engine | A self-contained SQLite memory store with evidence, corrections and agent lifecycle tools. | createLocalMemory from mnemosy-ai/local |
Local API · Agent lifecycle |
The MemoryAgent adapter uses the Local Engine's runtime. These engines have separate schemas and do not automatically migrate or synchronize data. To transition gradually, explicitly connect your existing store through the read-only migration bridge; it leaves that store unchanged.
Engine choice is separate from release channel: stable mnemosy-ai@latest remains on version 1.x, while mnemosy-ai@next selects the version 2 candidate containing both engines. Review the migration notes before upgrading an existing Vector Engine application.
Install the exact release candidate in your project. Node 24 is recommended; the local memory engine needs no model API key, database server, or Docker.
npm install mnemosy-ai@2.0.0-rc.10
npx --no-install mnemosy demo
npx --no-install mnemosy learning-demo
The prerelease channel is mnemosy-ai@next. Pin the exact version for reproducible deployments; unqualified npm install mnemosy-ai follows the stable latest channel and still selects version 1.x. Evaluate this candidate on your own workload before production. Python registry publication is separate; the bundled Python client can be installed from the checkout.
To build and run the same candidate from source:
git clone --branch v2.0.0-rc.10 --depth 1 https://github.com/28naem-del/mnemosyne.git
cd mnemosyne
npm ci --ignore-scripts
npm run build
npm run demo
npm run demo:learning
The first demo uses a temporary database to show a handoff, correction, private scope and forgetting. The learning demo exercises capture, a scripted observation job, skill trials, explicit sharing and correction-driven retirement. Both run real local APIs with deterministic fixtures and no model calls. Choose your next example.
For full contributor validation, run npm run check, npm run check:docs and npm run check:public. RC10 adds the Tier 1 retrieval work (hybrid default, cross-encoder reranking, opt-in dense index and temporal routing) over the RC9 packaging; the recorded evaluation reports remain historical measurements of the versions and conditions they name.
To consume your built checkout from another project, run npm install /absolute/path/to/mnemosyne in that project. Keep the checkout and its dist directory available. The older RC8 GitHub release and checksummed downloads remain unchanged.
import { createLocalMemory } from 'mnemosy-ai/local';
const memory = createLocalMemory({
path: './agent-memory.sqlite',
workspaceId: 'catalogue',
agentId: 'designer',
});
const brief = memory.store({
text: 'Product images must be 1200 by 900 pixels.',
kind: 'fact',
key: 'catalogue.image-size',
source: { uri: 'brief://catalogue/v1' },
trust: 'observed',
visibility: 'workspace',
});
const procedure = memory.store({
text: 'Export catalogue product images at 1200 by 900 pixels.',
kind: 'procedure',
source: { uri: 'run://designer/export' },
trust: 'observed',
dependencies: [brief.id],
visibility: 'workspace',
});
memory.correct(brief.id, {
text: 'Product images must be 1600 by 1200 pixels.',
source: { uri: 'brief://catalogue/v2' },
reason: 'The delivery specification changed.',
});
console.log(memory.get(procedure.id)?.status); // invalidated
const context = memory.compile({
query: 'catalogue product images',
maxTokens: 2048,
});
console.log(context.text); // Send eligible context to your responder.
// Inspect context.citations and context.uncertainty alongside the text.
memory.close();
The old procedure remains inspectable but is no longer eligible as current guidance. Dependencies must be declared by the co