A shared memory store for humans and AI

GitHub npm
npm install -g mor
copied!
your AI forgets everything between sessions. this fixes that.

What is this?

Plain markdown files. SQLite full-text search.
An MCP server so your AI can actually remember things.
A CLI because you're a human who also likes to remember things.

# save a code snippet
$ mor add retryWithBackoff.ts -d "RxJS retry with exponential backoff"
Created: 405614a7 retryWithBackoff.ts [typescript]

# full-text search with relevance scores
$ mor find "retry http"
405614a7 retryWithBackoff.ts [rxjs, fetch] (1.00)
c937cadb rxjs.svelte.ts [rxjs, svelte] (0.31)

# browse by tag
$ mor ls --tag "rxjs"
405614a7 retryWithBackoff.ts — RxJS retry with exponential backoff
d8555419 rxjs.dom.ts — Visibility and media query observables
010fb8f5 rxjs.subjects.ts — LocalStorage-backed BehaviorSubject

# literal substring search
$ mor grep "Retry-After" -i
405614a7 retryWithBackoff.ts

Features

Everything you need. Nothing you don't.

🔍

Full-text search

SQLite FTS5 with porter stemming. OR-ranked multi-word queries. Literal substring grep. Optional vector embeddings.

🤖

MCP server

Claude Code, Claude Desktop, Cursor — any MCP client. Your AI searches, reads, and saves memories natively.

💻

CLI

find, grep, add, cat, edit, ls, rm, cp, update, push. Unix-flavored. Pipe-friendly. Glob filters on tags, types, repos.

🌐

HTTP + remote MCP

Run on one machine, access from anywhere. REST API + streamable MCP transport. Bearer token auth. DNS rebinding protection.

📝

Plain markdown

Memories are .md files with YAML frontmatter. Human-readable. Git-friendly. Edit with any text editor. No lock-in.

🏷️

Smart tagging

Auto-tags files by language. Filter by tag, type, repo, extension. Glob patterns everywhere. Descriptions for context.

Architecture

Three interfaces, one abstraction, plain files.

CLI
MCP
HTTP
Operations
SQLite + .md files

“I wrote that exact helper function six months ago.
In a different repo. I think. Maybe it was a gist?
Or a Slack message?”

— every developer, every week

Get started

Three commands to never forget again.

1

Install

npm install -g mor

2

Remember something

mor add snippet.ts -d "that retry helper I always rewrite"

3

Find it later

mor find "retry" — or let your AI do it via MCP