genmem
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@genmemWhat editor do I prefer?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
genmem
Local-first markdown memory for AI assistants.
genmem is an MCP (Model Context Protocol) server that gives Claude Desktop, Cursor, VS Code (Cline), Continue, and Windsurf long-term memory. Your AI assistant can save, search, and recall notes across every chat — the memory lives on your machine, in plain Markdown files you can read, edit, and version-control.
┌──────────────────────────┐ ┌──────────────────────────┐
│ Claude / Cursor / etc. │ <-> │ genmem (this project) │
│ MCP client │ │ stdio JSON-RPC server │
└──────────────────────────┘ └────────────┬─────────────┘
│
┌──────────────┴──────────────┐
│ ~/.genmem/ │
│ ├── memory/ *.md │
│ ├── topics/ */ │
│ ├── attachments/ │
│ ├── .trash/ │
│ └── index/index.sqlite │
│ (FTS5 search index) │
└─────────────────────────────┘Quickstart (Windows)
# 1. Initialize a scope (creates %USERPROFILE%\.genmem)
npx -y genmem-mcp init
# 2. Auto-register genmem as an MCP server in every detected AI client
npx -y genmem-mcp install
# 3. Restart your AI client. The memory_* tools will appear.That's it. In Claude Desktop, try:
"Save a note: my favorite editor is Zed and I prefer dark mode."
Later, in any new chat:
"What editor do I prefer?"
The assistant will call memory_search and find your note.
Related MCP server: iai-mcp
Features
8 MCP tools —
save,search,get,recent,topics,delete,link,reflect.FTS5 full-text search — fast, ranked results with highlighted snippets.
Human-readable Markdown — every note is a
.mdfile on disk with YAML frontmatter.Zero-config install —
npx -y genmem-mcp installfinds Claude Desktop, Cursor, VS Code (Cline), Continue, and Windsurf on your system and writes the MCP config for each one.Portable backups —
genmem exportzips a scope,genmem importrestores it on any machine.Crash-safe writes — atomic temp-file + rename; SQLite WAL mode.
Idempotent everywhere — re-installing, re-importing, and re-saving all detect "already done" and skip.
CLI
genmem init # create scope dirs + config.json + empty DB
genmem doctor [--rebuild] # diagnostics, optionally rebuild FTS index
genmem list [--topic X] [--limit N] # list notes
genmem search "query" # (use the MCP search tool)
genmem install [--client X] [--force] # auto-register in AI clients
genmem uninstall [--client X] # remove the genmem entry
genmem export --out backup.zip # bundle a scope
genmem import --in backup.zip # restore a scope
genmem config get|set|path # manage scope config
genmem serve # start the MCP server (called by clients)All commands accept --scope <path> to target a non-default scope, and --user <name> to override the OS user. See docs/cli.md for the full reference.
The 8 MCP tools
Tool | Purpose |
| Create a new note or update an existing one (idempotent, atomic). |
| FTS5 search with snippets and topic filter. |
| Fetch one note by id, optionally without the body. |
| List most recently updated notes, optionally by topic. |
| List all topics with note counts. |
| Soft-delete (moves to |
| Create a typed edge between two notes. |
| Gather recent notes + a |
Full schemas in docs/mcp.md. The Markdown file format is specified in docs/format.md.
File format
Every note is a Markdown file with YAML frontmatter:
---
id: 01JABCDEF1234567890ABCDE
title: "How I configured SSH tunnels"
topic: infra/ssh
tags: [ssh, windows, tunnel]
links:
- 01JABCDEF0000000000000000A
created_at: 2026-01-15T14:32:11.045Z
updated_at: 2026-01-15T14:32:11.045Z
source: chat
schema_version: 1
---
# Body
The body is plain CommonMark + GFM. You can edit any note in any text
editor; `genmem doctor --rebuild` will re-sync the FTS index.Filenames are {ulid}-{slug}.md so they sort by creation time and survive renames in Explorer.
Storage layout
%USERPROFILE%\.genmem\
├── config.json # scope metadata: user, active_profile, schema_version
├── memory\ # notes saved without a topic
├── topics\ # notes organized by topic
│ └── <topic>\
│ └── <ulid>-<slug>.md
├── attachments\ # reserved (not surfaced in v1)
├── .trash\ # soft-deleted notes (7-day purge window)
└── index\
└── index.sqlite # FTS5 search index (rebuildable from disk)Markdown is the source of truth. The SQLite index is a derived cache — safe to delete and rebuild at any time with genmem doctor --rebuild.
Install (developer)
git clone https://github.com/<you>/genmem-mcp
cd genmem-mcp
npm install
npm run build
node bin/genmem-mcp.js --version
node bin/genmem-mcp.js init
node bin/genmem-mcp.js doctorTest
npm test # 144 tests, ~5s on Windows
npm run typecheck # 0 errors
npm run lintThe test suite includes a protocol-level integration test that spawns the real server as a child process and drives it over stdio with the official MCP client SDK. No mocking of the transport layer.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/helloSobuj/genmem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server