Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mnemon-mcp": {
"command": "mnemon-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Persistent layered memory for AI agents. Local-first. Zero-cloud. Single SQLite file.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mnemon-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mnemon-mcp against OSV.dev.
Click any tool to inspect its schema.
statsAggregate stats per layer
memory://stats
recentMemories created/updated in last 24h
memory://recent
layerAll active memories in a layer
memory://layer/{layer}
entityAll active memories about an entity
memory://entity/{name}
recallTell me everything you know about X
context-loadLoad relevant context before starting a task
journalCreate a structured journal entry
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data / ai-ml
Persistent memory using a knowledge graph
Manage Supabase projects — databases, auth, storage, and edge functions
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
MCP Security Weekly
Get CVE alerts and security updates for Mnemon MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Persistent layered memory for AI agents. Local-first. Zero-cloud. Single SQLite file.
Landing Page · npm · GitHub
Your AI agent forgets everything after each session. Mnemon fixes that.
It gives any MCP-compatible client — OpenClaw, Claude Code, Cursor, Windsurf, or your own — a structured long-term memory backed by a single SQLite database on your machine. No API keys, no cloud, no telemetry. Just npm install and your agent remembers.
Flat key-value stores treat "what happened yesterday" the same as "never commit without tests." That's wrong — different kinds of knowledge have different lifetimes and access patterns.
Mnemon organizes memories into four layers:
| Layer | What it stores | How it's accessed | Lifetime |
|---|---|---|---|
| Episodic | Events, sessions, journal entries | By date or period | Decays (30-day half-life) |
| Semantic | Facts, preferences, relationships | By topic or entity | Stable |
| Procedural | Rules, workflows, conventions | Loaded at startup | Rarely changes |
| Resource | Reference material, book notes | On demand | Decays slowly (90 days) |
A journal entry from last Tuesday and a coding rule that never changes live in different layers — because they should.
npm install -g mnemon-mcp
Or from source:
git clone https://github.com/nikitacometa/mnemon-mcp.git
cd mnemon-mcp && npm install && npm run build
openclaw mcp register mnemon-mcp --command="mnemon-mcp"
Or add to ~/.openclaw/mcp_config.json:
{
"mnemon-mcp": {
"command": "mnemon-mcp"
}
}
Add to ~/.claude/mcp.json:
{
"mcpServers": {
"mnemon-mcp": {
"command": "mnemon-mcp"
}
}
}
Add to your client's MCP config:
{
"mcpServers": {
"mnemon-mcp": {
"command": "mnemon-mcp"
}
}
}
Use the full path to the compiled entry point:
{
"mnemon-mcp": {
"command": "node",
"args": ["/absolute/path/to/mnemon-mcp/dist/index.js"]
}
}
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | mnemon-mcp
You should see 10 tools in the response. The database (~/.mnemon-mcp/memory.db) is created automatically on first run.
That's it. Your agent now has persistent memory.
| Tool | What it does |
|---|---|
memory_add | Store a memory with layer, entity, confidence, importance, and optional TTL |
memory_search | Full-text or exact search with filters by layer, entity, date, scope, confidence |
memory_update | Update in-place or create a versioned replacement (superseding chain) |
memory_delete | Delete a memory; re-activates its predecessor if any |
memory_inspect | Get la |