Skip to main content

Open-source MCP Server for persistent AI memory with embedded sync

Project description

Mnemo MCP Server

mcp-name: io.github.n24q02m/mnemo-mcp

Persistent memory MCP server with hybrid retrieval (FTS5 + sqlite-vec + RRF fusion + cross-encoder rerank + temporal decay) and embedded sync. Open, free, unlimited.

CI codecov PyPI Docker License: MIT SafeSkill 91/100

Python SQLite MCP semantic-release Renovate

Sister projects from n24q02m (click to expand)
Project Tagline Tag
better-code-review-graph Knowledge graph for token-efficient code reviews -- fixed search, configurabl... MCP
better-email-mcp IMAP/SMTP email server for AI agents -- 6 composite tools with multi-account ... MCP
better-godot-mcp Composite MCP server for Godot Engine -- 17 mega-tools for AI-assisted game d... MCP
better-notion-mcp Markdown-first Notion API server for AI agents -- 10 composite tools replacin... MCP
better-telegram-mcp MCP server for Telegram with dual-mode support: Bot API (httpx) for quick bot... MCP
claude-plugins Full documentation: mcp.n24q02m.com — unified docs for all 8 servers + the mc... Marketplace
imagine-mcp Production-grade MCP server for image and video understanding + generation ac... MCP
jules-task-archiver Chrome Extension for bulk operations on Jules tasks via batchexecute API -- a... Tooling
mcp-core Unified MCP Streamable HTTP 2025-11-25 transport, OAuth 2.1 Authorization Ser... MCP
mnemo-mcp Persistent AI memory with hybrid search and embedded sync. Open, free, unlimi... MCP
qwen3-embed Lightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUF Library
skret Secrets without the server. CLI
web-core Shared web infrastructure package for search, scraping, HTTP security, and st... Library
wet-mcp Open-source MCP Server for web search, content extraction, library docs & mul... MCP

Table of contents

Mnemo MCP server

Roadmap (current = Phase 1 / v1.x)

Phase Version Status Highlights
Phase 1 v1.x Shipped Typed memory(action="capture") (6 context_types + dedup) -- RRF (k=60) hybrid fusion + cross-encoder rerank + temporal decay -- importance x recency archive policy + restore -- Alembic migrations -- multi-provider LLM dispatch -- plugin trinity (recall-context + memory-commit skills, SessionStart + opt-in PostToolUse hooks)
Phase 2 v1.x+1 Shipped LLM-driven compression of older memories + Passport sync (encrypted import/export bundle for cross-machine bootstrap) -- AES-256-GCM + Argon2id, S3 / R2 / B2 / MinIO + GDrive backends, delta-sync with LWW per row
Phase 3 v2.0.0 Shipped (BREAKING) Temporal knowledge graph -- bitemporal valid_from / valid_to columns -- entity resolution via embedding KNN -- entity_search / entity_graph / history actions -- KG-aware passport bundle sections -- KG_AUTO_ENABLED opt-in auto-extract on capture

Features

  • Hybrid retrieval -- FTS5 + sqlite-vec, fused via Reciprocal Rank Fusion (k=60), then re-ranked by a cross-encoder chain (qwen3-reranker local -> Jina -> Cohere) with temporal decay and importance boost
  • Typed capture -- memory(action="capture") with 6 context_types (conversation/fact/preference/skill/task/decision), embedding-based dedup, and a multi-provider LLM dispatcher (Gemini > OpenAI > Anthropic > xAI)
  • Knowledge graph -- Automatic entity extraction and relation tracking; top results boosted by graph proximity
  • Importance scoring + archive policy -- LLM-scored 0.0-1.0 importance; soft-archive when recency_factor * (1 - importance) > 1.0; restore action available
  • Auto-archive trigger -- Background sweep every Nth capture (default 100) -- no cron required
  • STM-to-LTM consolidation -- LLM summarization of related memories in a category
  • Duplicate detection -- Warns before adding semantically similar memories
  • Zero config -- Built-in local Qwen3 ONNX embedding + reranking, no API keys needed. Optional cloud providers (Jina AI, Gemini, OpenAI, Cohere)
  • Multi-machine sync -- JSONL-based merge sync via Google Drive (bundled Desktop OAuth public client)
  • Plugin trinity -- Ships /recall-context + /memory-commit skills and SessionStart + opt-in PostToolUse hooks (see docs/ARCHITECTURE.md)
  • Proactive memory -- Tool descriptions and skills guide AI to save preferences, decisions, facts at the right moment
  • Phase 2: LLM compression -- Per-turn compression via the multi-provider dispatcher targets ~3x token reduction at >=0.9 fact retention; graceful skip when no provider configured (see docs/compression.md)
  • Phase 2: Encrypted passport sync -- AES-256-GCM bundles + Argon2id KDF, S3 (R2 / B2 / MinIO) and Google Drive backends, delta-sync with last-write-wins per row (see docs/passport.md). Bootstrap via the new passport-bootstrap skill.
  • Phase 3: Temporal knowledge graph (v2.0) -- Bitemporal columns (valid_from / valid_to / superseded_by) on every memory + entity-resolution dedup (embedding KNN at default 0.85 cosine threshold) + audit trail (memory_audit table with prev/new state hashes) + new actions (entity_search / entity_graph / history) + opt-in KG_AUTO_ENABLED auto-extract on capture. BREAKING for clients that called memory.get expecting historical-inclusive results: pass as_of for time-travel; default now filters to current-state (valid_to IS NULL).

Comparison vs. peers

Feature mnemo-mcp Mem0 Letta OpenMemory
Hybrid retrieval (FTS + vec) yes (FTS5 + sqlite-vec + RRF) yes partial yes
Cross-encoder rerank chain yes (qwen3 local + Jina + Cohere) partial (Cohere only) no no
Temporal decay scoring yes (exp half-life) no no no
Importance boost in rank yes (LLM 0.0-1.0) no no no
Soft-archive + restore policy yes (importance x recency) no no no
Self-hostable (single SQLite file) yes (zero ext deps) partial (cloud-first) yes (Postgres) yes (Postgres + Qdrant)
Multi-provider LLM dispatch yes (Gemini/OpenAI/Anthropic/xAI auto-detect) partial yes partial
Plugin trinity (skills + hooks) yes (recall-context + memory-commit) n/a n/a n/a
Multi-machine sync yes (GDrive bundled OAuth) yes (cloud) n/a n/a
E2E-encrypted passport sync (Phase 2) yes (AES-256-GCM + Argon2id, S3 + GDrive) no no no
LLM compression on capture (Phase 2) yes (multi-provider, ~3x at >=0.90 retention) no no no
Backend-pluggable sync architecture yes (S3 / R2 / B2 / MinIO + GDrive) no no no
Bitemporal valid_from / valid_to queries (Phase 3) yes (as_of time-travel) no partial (events only) no
Entity resolution via embedding KNN (Phase 3) yes (cosine threshold tunable) no no no
Audit trail with state hashes (Phase 3) yes (memory_audit table) no no no

Status

2026-05-02 -- Architecture stabilization update

Past months saw significant churn around credential handling and the daemon-bridge auto-spawn pattern. This caused multi-process races, browser tab spam, and inconsistent setup UX across plugins. As of v, the architecture is stable: 2 clean modes (stdio + HTTP), no daemon-bridge layer, no auto-spawn from stdio.

Apologies for the instability period. If you encountered issues with prior versions, please update to v+ and follow the current setup docs -- most prior workarounds are no longer needed.

Related plugins from the same author:

All plugins share the same architecture -- install once, learn pattern transfers.

Documentation

Full docs at mcp.n24q02m.com/servers/mnemo-mcp/:

  • Setup -- install methods for Claude Code, Codex, Gemini CLI, Cursor, Windsurf, mcp.json
  • Modes overview -- stdio / local-relay / remote-relay / remote-oauth
  • Multi-user setup -- per-JWT-sub credential model

Install with AI agent -- paste this to your AI coding agent:

Install MCP server mnemo-mcp following the steps at https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/mnemo-mcp/setup-with-agent.md

Tools

3 MCP tools, 13 memory actions:

Tool Actions Description
memory add, capture, search, list, update, delete, export, import, stats, restore, archived, archive_now, consolidate Core CRUD + typed capture (6 context_types) + hybrid search (RRF + rerank + temporal decay) + import/export + soft-archive + restore + on-demand archive sweep + LLM consolidation
config status, sync, set, warmup, setup_sync, setup_status, setup_start, setup_skip, setup_reset, setup_complete, setup_relay Server status, trigger sync, update settings, pre-download embedding model, authenticate sync provider, manage HTTP setup form lifecycle
help topic="memory" or topic="config" Full documentation for any tool

Plugin trinity (Claude Code marketplace install):

Component Trigger Purpose
mnemo:recall-context skill session start, before significant decisions, "what do I know about X?" Pulls cwd / topic-relevant memories with context_type filtering
mnemo:memory-commit skill "remember this" / "save this" / "ghi nho" / "luu lai" Typed manual capture with context_type decision tree
mnemo:knowledge-audit skill periodic / "audit memory" Find duplicates, contradictions, stale entries; consolidate
mnemo:session-handoff skill end of session Capture decisions / preferences / corrections / conventions / open questions
SessionStart hook every session init Non-blocking nudge to invoke recall-context
PostToolUse hook (opt-in) CAPTURE_AUTO_ENABLED=true Hint memory-commit after Write/Edit of CLAUDE.md / AGENTS.md / ARCHITECTURE.md / docs/*.md

MCP Resources

URI Description
mnemo://stats Database statistics and server status

MCP Prompts

Prompt Parameters Description
save_summary summary Generate prompt to save a conversation summary as memory
recall_context topic Generate prompt to recall relevant memories about a topic

Security

  • Graceful fallbacks -- Cloud → Local embedding, no cross-mode fallback
  • Sync token security -- OAuth tokens stored at ~/.mnemo-mcp/tokens/ with 600 permissions
  • Input validation -- Sync provider, folder, remote validated against allowlists
  • Error sanitization -- No credentials in error messages

Build from Source

git clone https://github.com/n24q02m/mnemo-mcp.git
cd mnemo-mcp
uv sync
uv run mnemo-mcp

Trust Model

This plugin implements TC-Local (machine-bound, single trust principal). See mcp-core/docs/TRUST-MODEL.md for full classification.

Mode Storage Encryption Who can read your data?
stdio (default) ~/.mnemo-mcp/config.json AES-GCM, machine-bound key Only your OS user (file perm 0600)
HTTP self-host Same as stdio Same Only you (admin = user)

License

MIT -- See LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mnemo_mcp-2.0.0b2.tar.gz (109.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mnemo_mcp-2.0.0b2-py3-none-any.whl (124.5 kB view details)

Uploaded Python 3

File details

Details for the file mnemo_mcp-2.0.0b2.tar.gz.

File metadata

  • Download URL: mnemo_mcp-2.0.0b2.tar.gz
  • Upload date:
  • Size: 109.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mnemo_mcp-2.0.0b2.tar.gz
Algorithm Hash digest
SHA256 ec11bdc495fbf210e1eb06371366a8d10ce47144903c15ca9f33a622455073fe
MD5 1b6e3f1aad4493d4e4b29d8f5d3294bb
BLAKE2b-256 e3f968c5893c56d945ffaa4b23ad889163c9d1e47f2c4f2424413083344b1472

See more details on using hashes here.

File details

Details for the file mnemo_mcp-2.0.0b2-py3-none-any.whl.

File metadata

  • Download URL: mnemo_mcp-2.0.0b2-py3-none-any.whl
  • Upload date:
  • Size: 124.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mnemo_mcp-2.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 beb36355fdd2a67e60e495cfbf234ebabe53fc1d500b1e8018214b3f48ec685d
MD5 d73d59190e96aac06991c06294fa04a8
BLAKE2b-256 88bab74b45a0f68fd7a7e692d5a2af4e901977fca87c86d6f32ded07609583d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page