Mnemosyne OS
New The documentation explains every engine, step by step. docs.mnemosyne-os.io →

Developers

Build on memory
that you don't own.

Your user owns it. It lives on their machine, encrypted once they arm it. They govern it, including against you.

Works with VS Code Cursor Claude Code Antigravity

Your own code

Point it at your project. It takes on its memory.

Declare your repo folder. Mnemosyne OS vectorizes your code, your files, your docs and your working conversations. Then its consolidation builds a synthesized memory of the project: the architecture, the decisions you made, and why.

You ask "why did we choose this?" and you get the synthesis, across months of work, without the right keyword. The memory itself stays local. With a local model, your code never leaves your machine. With a cloud model, only the passages that answer leave.

The rule

Three surfaces. Each one serves a different job.

Each has its own transport, its own manifest and its own library. The routing rule fits in two lines. Read it first:

Do you draw pixels inside Mnemosyne OS? → Cartridge.
Are you a separate process? → App Layer 2, or MCP if the caller is an AI agent.

I

Cartridge

@mnemosyne_os/cartridge-sdk 0.6.0

You draw pixels INSIDE Mnemosyne OS.

An isolated iframe that talks to the OS over postMessage. It's the only distributable surface on MnemoHub. No Node or Electron access. 172 host actions, 9 of them open without permission.

The cartridge SDK is NOT @mnemosyne_os/sdk. Installing the wrong package is mistake #1.

II

App Layer 2

@mnemosyne_os/sdk 1.5.7

Your app is a separate process.

WebSocket JSON-RPC on 127.0.0.1:7799, one JWT per app, an allowlist of origins. You declare a manifest, the user grants the rights in a real system window, and you query the memory.

The OS must be running. Remote web pages are refused, by design.

III

MCP

@mnemosyne_os/mcp 2.1.3

Your caller is an AI agent.

Claude Code, Claude Desktop, Cursor. A thin client on the same port 7799, with 25 tools. They cover the memory, the backlog and the calendar, the project thread and the voice. They also tell you what the other coding agents on this machine are doing. Zero lines of code to write.

Same constraint, with one exception. The three agent-awareness tools read transcripts already on disk, so they answer with the app closed.

Where to start

How do you build?

I vibe-code → I'm a purist →

Get started

The shortest path, by surface.

MCP, zero lines of code

Infinity open, Node 18+, then in your project's .mcp.json:

{ "mcpServers": { "mnemosyne": {
  "command": "npx",
  "args": ["-y", "@mnemosyne_os/mcp"],
  "env": {
    "MNEMO_DEFAULT_VAULT": "DEV",
    "MNEMO_VAULTS": "DEV,PERSONAL,SOCIAL",
    "CLAUDE_CODE_SESSION_ID": "${CLAUDE_CODE_SESSION_ID}"
  }
} } }

App Layer 2

pnpm add @mnemosyne_os/sdk
import { MnemoClientBrowser } from '@mnemosyne_os/sdk';

const client = await MnemoClientBrowser.connect();  // 127.0.0.1:7799
await client.register(MANIFEST);                    // the user grants, or refuses
await client.ingest('A note to remember', 'NOTE', 'DEV');
const chronicles = await client.query('my search', 'DEV', 10);

Cartridge

Copy apps/mnemo-cartridge-boilerplate/, replace the workspace:* dependency with the npm version, then:

pnpm add @mnemosyne_os/cartridge-sdk
pnpm dev     # vite, 127.0.0.1:5185
pnpm build   # tsc && vite build -> dist/

In the app: MnemoHub → My dev apps → link your folder. The first link is free. The second requires an active Engramm license.

Where to start

How do you build?

I vibe-code → I'm a purist →

The pact

Your app has exactly one vault. And it can't get out of it.

The server derives one vault per app. That vault is isolated from federated search and invisible to the neural map and the dream state. Your app cannot widen its own walls. Opening permanence is an operation the network cannot reach. Only the user can do it, in their vault manager.

The limit sits in the transport, not in a policy. You can propose. You cannot carve. This is what makes your user agree to install your app.

The three traps that cost you an evening

Silent

Declare vault:write in your manifest. Without it, ensureSandbox() is refused with no visible error. You simply never get a vault. The boilerplate does not declare it.

Irreversible

Renaming your app orphans its vault. Ownership is indexed on the manifest name. The next ensure creates a fresh vault and abandons the old one. No migration exists.

Good to know

The vault is created on first launch, never at install. All cartridges share one origin, so put no secret in localStorage.

Where to start

How do you build?

I vibe-code → I'm a purist →

Soon · the creator economy

An economy where the creator keeps the biggest share.

When the store economy opens, the rule will be simple and public. The developer keeps 80% of every sale. The hub takes 15%. The remaining 5% funds a community DAO that gives back to the ecosystem's development. No hidden cut, no terms that shift.

80% developer · 15% hub · 5% community DAO

We will publish how it works and when it opens. Leave your email to hear it first. Zero spam, just the announcement.

Open-core

The SDK is open. The core is sealed. And it has a date.

The packages you build with, the SDK, the MCP server and the cartridge SDK, are MIT, published and readable. The cognitive engine is proprietary and ships sealed. The keys, the anti-piracy and the legal stay private.

You never need the core to write an app. The SDK is the boundary, and it is stable.

The sealed part has a date. Its license flips automatically to MIT on January 1st, 2030. That date is written in the license file, not in a blog post.

"The license is a key, not a lock."

Editing the JSON by hand bypasses the quota. We know it, and we accept it. That is the open-core stance: we don't fight you.

The contract

Memory perceives, situates and reveals.
The human governs.

For you, developer, it comes down to one sentence. Your app can propose, the user decides. It erases nothing in silence. It mixes nothing without a human gesture. It leaves its vault only when invited. Build with that rule.

How do you build?

The developer offer

Claim your free license, and code your first cartridge.

Building on Mnemosyne OS? We want your feedback, not your money. Download the OS and request your free founder license. We add $5 in cloud credits, so you can test right away without plugging in your API key.

1

Download the OS

Free, right now. Windows, macOS or Linux, the full OS, local.

2

Request your free license

Manual airdrop, count a few days. It unlocks the reserved features and cartridges, for life. It comes with $5 in cloud credits to try without an API key.

3

Scaffold your first cartridge

One command, and you're already querying the vault under FGAC.

npm create @mnemosyne_os/app

Or in vibe-coding, paste this prompt to your assistant:

Prompt Build a Mnemosyne OS cartridge: [describe your app]. Before coding, read the llms.txt at the root of github.com/Mnemosyne-OS/Mnemosyne-Neural-OS, then clone a reference MIT cartridge (MnemoReader) and read its src/. Use @mnemosyne_os/sdk to ingest and query the vault under FGAC. Follow the reference's patterns and don't guess the API.

→ The full process, in vibe-coding