Skip to main content
ClaudeWave

The context engine for AI work. Mnema is a collaborative knowledge workspace that publishes your team's docs, decisions, and workflows to any MCP-aware AI client (Claude, ChatGPT, Cursor, and more) — so your agents answer from your context, not their training data.

MCP ServersRegistry oficial6 estrellas5 forksTypeScriptNOASSERTIONActualizado today
ClaudeWave Trust Score
80/100
Trusted
Passed
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Flags
  • !Licence file present but not machine-readable
Last scanned: 8/26/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/nbkdoesntknowcoding/mnema
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "mnema": {
      "command": "node",
      "args": ["/path/to/mnema/dist/index.js"],
      "env": {
        "PUBLIC_COLLAB_URL": "<public_collab_url>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/nbkdoesntknowcoding/mnema and follow its README for install instructions.
Detected environment variables
PUBLIC_COLLAB_URL
Casos de uso

Resumen de MCP Servers

# Mnema

Your AI assistant answers from its training data, not your team's. Mnema is a
self-hostable knowledge workspace that publishes your docs, decisions, and
step-by-step workflows to any MCP-aware AI client (Claude, ChatGPT, Cursor,
Windsurf, Cline) over the Model Context Protocol — so your agents read *your*
context, live, with no uploads or copy-paste.

This is the **open-core** repository (fair-code, [Mnema Community License](./LICENSE)).
It is the full core product and runs on its own; the enterprise modules are separate.

<!-- ASSET: hero screenshot (editor + connected Claude) -->
<!-- ASSET: 30s demo GIF (ask Claude → it reads a doc → proposes an edit → Approve) -->

## Quickstart (self-host in a few minutes)

Clone to a live MCP endpoint in about 4 minutes — a one-time image build. (A
stone-cold first-ever build can take longer; it's I/O-bound on Docker's
filesystem, not downloads. Native Linux is as fast or faster.)

Requirements: **Docker + Docker Compose**. (Working on the code itself, outside
Docker? **Node 22** — `nvm use` picks it up from [`.nvmrc`](./.nvmrc) — and
**pnpm 10**; see [CONTRIBUTING.md](./CONTRIBUTING.md).)

```bash
git clone https://github.com/nbkdoesntknowcoding/mnema.git
cd mnema
./scripts/self-host-init.sh          # generates secrets + the OAuth keypair, writes .env
docker compose up -d --build         # postgres, redis, api, collab, workers, web
```

Then:

- Open **http://localhost:4321** and create an account at **`/auth/local`** (email + password).
- Connect an MCP client to your server: **`http://localhost:8080/mcp`**
  (in Claude/Cursor, add it as a custom MCP/connector URL; you'll be sent back here to log in and approve).

That's it — the first workspace comes with a welcome doc and an example flow, so your
first connection has something real to read.

Optional: set `VOYAGE_API_KEY` (semantic search) and `GEMINI_API_KEY` (autocomplete)
in `.env` — bring your own keys. Both stay disabled until set.

## Documentation

- **[Connect an AI client](./docs/connect/)** — [Claude](./docs/connect/claude.md), [ChatGPT](./docs/connect/chatgpt.md), [Cursor](./docs/connect/cursor.md), [Windsurf](./docs/connect/windsurf.md), [Antigravity](./docs/connect/antigravity.md)
- **[Embed Mnema in your own app](./docs/connect/api-integration.md)** — REST API + an API key
- **[REST API reference](./docs/api/)** — every public endpoint, auth, scopes, examples

## What's in the core (this repo) vs. licensed

The free layer carries the full product; the gates sit on what organizations and
R&D need. Plainly:

| Capability                                         | Core (this repo) | Licensed |
| :------------------------------------------------- | :--------------: | :------: |
| Docs, real-time editor, folders, search            | ✅ | ✅ |
| Flows (build + walk step-by-step via MCP)          | ✅ | ✅ |
| MCP server (read + propose/commit writes)          | ✅ | ✅ |
| Built-in email+password auth, or generic OIDC      | ✅ | ✅ |
| Self-host, single-workspace, unlimited docs        | ✅ | ✅ |
| Version history + document export                   | ✅ free with a community license | ✅ |
| Knowledge graph (build, report, traverse)          | ❌ | ✅ |
| Meeting intelligence (bot, transcription, summaries) | ❌ | ✅ |
| Org / IAM / SSO, audit logs, multi-workspace       | ❌ | ✅ |

The knowledge graph, meeting intelligence, org/IAM+SSO, audit, and multi-workspace
mode are commercial add-ons — the core runs perfectly without them, and its CI
proves it builds and boots with the enterprise modules entirely absent. Licensing:
[LICENSE](./LICENSE) for the core; enterprise inquiries via the website.

> Docs, flows, collaboration, and live MCP are free forever, registered or not.
> Version history and export are also free — we just ask for your email (a free
> community license, entered in **Settings**). Your history is recorded from day
> one; registering reveals it.

## Self-host notes

- **Pin to a release tag.** For a stable deployment, check out a tagged release
  rather than tracking `main`: `git fetch --tags && git checkout vX.Y.Z`, then
  `docker compose up -d --build`. Release tags are immutable and signed; upgrade
  by checking out a newer tag and rebuilding. See [RELEASING.md](./RELEASING.md)
  and [CHANGELOG.md](./CHANGELOG.md).
- **HTTPS / reverse proxy.** Behind TLS, expose the collab WebSocket as
  `wss://<your-host>/collab` (WebSocket upgrade enabled) and set
  `PUBLIC_COLLAB_URL=wss://<your-host>/collab`, then **rebuild the web app**
  (`PUBLIC_*` vars are baked in at build time). Otherwise the browser falls back to
  `ws://localhost:1234`, which is blocked as mixed content on an HTTPS page — and
  every document shows "disconnected." Re-run `./scripts/self-host-init.sh --url https://<your-host>`
  to regenerate `.env` for a public host.
- **Backups.** Everything lives in Postgres + the named volumes. Back up with
  `docker compose exec postgres pg_dump -U mnema mnema > backup.sql` and snapshot the
  `pgdata` / `redis_data` volumes.
- **Requirements.** Comes up on a 4 GB machine. Migrations apply automatically on
  first `up` (idempotent).

## Troubleshooting (self-host)

- **`docker compose up` exits immediately with "set POSTGRES_PASSWORD in .env" (or
  `REDIS_PASSWORD`).** There's no `.env` yet — the compose refuses to boot with
  empty credentials. Run `./scripts/self-host-init.sh` first (it writes `.env`
  with generated secrets); add `--force` to regenerate one that already exists.
- **"port is already allocated" on startup.** The stack publishes three ports on
  127.0.0.1: `4321` (web), `8080` (api), `1234` (collab). Stop whatever holds the
  port, or change the host side of that service's `ports:` entry in
  `docker-compose.yml`.
- **Every document shows "disconnected" (HTTPS deploys).** The browser is trying
  `ws://localhost:1234` — blocked as mixed content on an HTTPS page. Set
  `PUBLIC_COLLAB_URL=wss://<your-host>/collab`, proxy that path with WebSocket
  upgrade enabled, and **rebuild the web image** — see the HTTPS note above.
  `./scripts/self-host-init.sh --url https://<your-host> --force` regenerates
  `.env` with the whole URL block derived for you.
- **Changed a `PUBLIC_*` var in `.env` but the app ignores it.** `PUBLIC_*` values
  are baked into the web image at build time, not read at runtime. Rebuild it:
  `docker compose up -d --build web`.
- **First boot looks stuck.** Startup is gated: postgres healthy → `migrate`
  completes → api healthy → web starts. Watch `docker compose ps` and
  `docker compose logs -f migrate api`. `(non-fatal on re-run)` lines from
  `migrate` are normal — the migrations are idempotent and re-runs are safe.
- **The login page shows SSO buttons, or sign-up is nowhere to be found.**
  Self-host sign-in lives at **`/auth/local`** (email + password). Keep both
  `AUTH_PROVIDER=password` and `PUBLIC_AUTH_PROVIDER=password` in `.env` — the
  `PUBLIC_` one is baked at build time, so rebuild the web image after changing it.

## Run it with an AI agent (alternative)

Open the repo in **Claude Code** (or any coding agent) and paste:

> **Set up and run Mnema (this repo) for self-hosting.** Confirm Docker is running,
> then run `./scripts/self-host-init.sh --defaults` and `docker compose up -d --build`.
> Wait for all services healthy, open the web URL, create an account at `/auth/local`,
> and report the URLs. Fix any error you hit and continue.

## Stack

pnpm monorepo — **api** (Fastify + Drizzle/Postgres), **collab** (Hocuspocus/Yjs),
**workers** (BullMQ/Redis), **web** (Astro + React). Node 22, Postgres 16 + pgvector, Redis 7.

## License

The core is licensed under the **Mnema Community License** (a Sustainable-Use
fair-code license): free to use, modify, and self-host for your own internal or
personal use; commercial hosting/reselling requires an agreement. See [LICENSE](./LICENSE),
[CONTRIBUTING.md](./CONTRIBUTING.md), and [TRADEMARK.md](./TRADEMARK.md).

"Mnema" is a trademark of the maintainer — forks may use the code, not the name.
aicanvasdoc-editorflowsmcpmemory

Lo que la gente pregunta sobre mnema

¿Qué es nbkdoesntknowcoding/mnema?

+

nbkdoesntknowcoding/mnema es mcp servers para el ecosistema de Claude AI. The context engine for AI work. Mnema is a collaborative knowledge workspace that publishes your team's docs, decisions, and workflows to any MCP-aware AI client (Claude, ChatGPT, Cursor, and more) — so your agents answer from your context, not their training data. Tiene 6 estrellas en GitHub y su última actualización registrada es del 2026-08-25.

¿Cómo se instala mnema?

+

Puedes instalar mnema clonando el repositorio (https://github.com/nbkdoesntknowcoding/mnema) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar nbkdoesntknowcoding/mnema?

+

Nuestro agente de seguridad ha analizado nbkdoesntknowcoding/mnema y le ha asignado un Trust Score de 80/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene nbkdoesntknowcoding/mnema?

+

nbkdoesntknowcoding/mnema es mantenido por nbkdoesntknowcoding. La última actividad registrada en GitHub es del 2026-08-25, con 5 issues abiertos.

¿Hay alternativas a mnema?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega mnema en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: nbkdoesntknowcoding/mnema
[![Featured on ClaudeWave](https://claudewave.com/api/badge/nbkdoesntknowcoding-mnema)](https://claudewave.com/repo/nbkdoesntknowcoding-mnema)
<a href="https://claudewave.com/repo/nbkdoesntknowcoding-mnema"><img src="https://claudewave.com/api/badge/nbkdoesntknowcoding-mnema" alt="Featured on ClaudeWave: nbkdoesntknowcoding/mnema" width="320" height="64" /></a>

Más MCP Servers

Alternativas a mnema