← Back to Blog

MemPalace — Local-First AI Memory System That Achieves 96.6% Retrieval Recall Without Any LLM

MemPalace — Local-First AI Memory System That Achieves 96.6% Retrieval Recall Without Any LLM

What is MemPalace?

MemPalace is an open-source, local-first AI memory system that stores your conversation history as verbatim text and retrieves it via semantic search. Unlike most memory systems that summarize, extract, or paraphrase (losing critical context in the process), MemPalace keeps everything — every word, every decision, every debugging session.

GitHub: github.com/MemPalace/mempalace
Stars: ⭐ 51,800+ (exploding in popularity)
License: MIT
Version: 3.3.5

Why this matters: AI agents (Claude Code, Codex, Gemini CLI, etc.) have a fundamental limitation — they forget everything between sessions. MemPalace solves this by giving your AI a persistent "palace" of memories it can search at any time, with 96.6% retrieval recall on LongMemEval. And it runs entirely on your machine.

Key Features

  • Verbatim storage — No summarization, no extraction, no paraphrase. Every word is preserved exactly as written.
  • 96.6% R@5 on LongMemEval — Without any API key, cloud service, or LLM call. Pure semantic search.
  • Pluggable backend — ChromaDB by default, with a clean interface for alternatives.
  • Structured memory hierarchy — Wings (people/projects), Rooms (topics), Drawers (verbatim chunks).
  • 29 MCP tools — Full read/write access, knowledge graph operations, cross-wing navigation.
  • Temporal knowledge graph — Entity-relationship triples with validity windows, backed by local SQLite.
  • Local-only — Nothing leaves your machine unless you opt in.

Benchmarks

Metric Score LLM Required
LongMemEval R@5 (raw semantic) 96.6% None
LongMemEval R@5 (hybrid v4) 98.4% None
LongMemEval R@5 (+LLM rerank) ≥99% Any
LoCoMo R@10 (hybrid v5) 88.9% None
ConvoMem Avg Recall 92.9% None
MemBench (ACL 2025) R@5 80.3% None

Architecture Overview

MemPalace follows a modular layered architecture. Data flows from project files and conversation transcripts through miners and scanners, gets embedded into a vector store (ChromaDB), and is served through the CLI, MCP server, or Python API.

MemPalace Architecture

The system is organized into several key layers:

  1. Input Sources — Project files (code, docs, notes) and conversation exports (Claude Code sessions, ChatGPT exports, Slack logs).
  2. Miners & Scannersmempalace mine ingests data from sources. The project scanner detects people, projects, and folder structure. The conversation miner processes chat transcripts.
  3. Palace Layer — The core organizational model: Wings (people/projects), Rooms (topics), Halls (categories like facts/events/preferences), Drawers (verbatim text chunks).
  4. Embedding & Vector Store — ChromaDB stores vector embeddings of all content. The system uses a local embedding model (~300 MB), no API call needed.
  5. Knowledge Graph — A temporal entity-relationship graph (SQLite-backed) that tracks facts with validity windows.
  6. Retrieval Layer — Semantic search with optional keyword boosting, temporal proximity, and LLM reranking for highest precision.
  7. Interfaces — CLI (mempalace search), MCP Server (29 tools), Python API, and auto-save hooks for Claude Code.

Prerequisites

  • Python 3.9+
  • ~300 MB disk space for the default embedding model
  • uv (recommended) or pip for installation
  • A project directory to index

Installation & Setup

Step 1: Install MemPalace

The recommended way is with uv, which puts the CLI in an isolated environment:

# Install with uv (recommended)
uv tool install mempalace

# Or with pip
pip install mempalace

Verify the installation:

mempalace --version
# Should output: mempalace 3.3.5

Step 2: Initialize Your Palace

MemPalace needs a project directory to scan:

# From outside the project
mempalace init ~/projects/myapp

# Or from inside the project directory
cd ~/projects/myapp
mempalace init

This scans your project directory and:

  • Detects people and projects from file content
  • Creates rooms from your folder structure
  • Ensures the ~/.mempalace/ config directory exists

Step 3: Mine Your Data

Now ingest content into your palace:

# Mine project files (code, docs, notes)
mempalace mine ~/projects/myapp

# Mine Claude Code sessions
mempalace mine ~/.claude/projects/ --mode convos

# Scope per project with --wing
mempalace mine ~/projects/myapp --wing myapp
mempalace mine ~/projects/another --wing another

The mining process is idempotent — running it multiple times won't duplicate content.

Step 4: Search Your Memories

# Basic search
mempalace search "why did we switch to GraphQL"

# Scoped search (wing only)
mempalace search "auth migration decision" --wing myapp

# Scoped to wing + room
mempalace search "deployment config" --wing myapp --room ci-pipeline

Step 5: Enable MCP Integration

To let your AI agent query MemPalace automatically, configure the MCP server.

Create or edit ~/.mempalace/config.yaml:

mcp:
enabled: true
transport: stdio

Then add it to your Claude Code or Hermes Agent MCP configuration:

{
  "mcpServers": {
    "mempalace": {
      "command": "mempalace",
      "args": ["mcp"]
    }
  }
}

Step 6: Auto-Save Hooks (Claude Code)

MemPalace provides hooks that automatically save your Claude Code session context periodically and before compression:

mempalace hooks install

This wires two hooks:

  • Periodic save — saves every N messages
  • Pre-compression save — saves before context window compression
# For per-message recall, run sweep periodically
mempalace sweep ~/.claude/transcripts/

Using the Knowledge Graph

The knowledge graph stores entity-relationship triples with time windows:

from mempalace.knowledge_graph import KnowledgeGraph

kg = KnowledgeGraph()

# Add facts with temporal validity
kg.add_triple("Kai", "works_on", "Orion", valid_from="2025-06-01")
kg.add_triple("Maya", "assigned_to", "auth-migration", valid_from="2026-01-15")

# Query everything about an entity
kg.query_entity("Kai")
# → [Kai → works_on → Orion (current)]

# Query as of a specific date
kg.query_entity("Maya", as_of="2026-01-20")
# → [Maya → assigned_to → auth-migration (active)]

# Timeline queries
kg.get_timeline("Maya")

MCP Tools Overview

MemPalace exposes 29 MCP tools covering:

  • Palace reads/writes — Search, store, update memories
  • Knowledge graph operations — Add triples, query entities, navigate timelines
  • Cross-wing navigation — Find tunnels between wings
  • Drawer management — Create, list, update verbatim drawers
  • Agent diaries — Each specialist agent gets its own wing and diary

Comparison: MemPalace vs Alternatives

  • Mem0 — Uses summarization (loses context), requires cloud API. MemPalace stores verbatim text and runs 100% locally.
  • Mastra Memory — Summarized storage, cloud-dependent. MemPalace is local-first with no API key required.
  • Hindsight — Different metrics, not directly comparable. MemPalace publishes reproducible benchmarks.
  • Supermemory — Different architecture, cloud-backed. MemPalace is local-only.
  • Zep — Uses Neo4j for graph. MemPalace uses SQLite (simpler, no external dependency).

Resources

← Retour au Blog

MemPalace — Système de Mémoire IA Local atteignant 96,6% de Rappel sans LLM

MemPalace — Système de Mémoire IA Local atteignant 96,6% de Rappel sans LLM

Qu'est-ce que MemPalace ?

MemPalace est un système de mémoire IA open-source, local-first qui stocke l'historique de vos conversations sous forme de texte intégral et le retrouve par recherche sémantique. Contrairement à la plupart des systèmes mémoire qui résument, extraient ou paraphrasent (perdant du contexte critique), MemPalace conserve tout — chaque mot, chaque décision, chaque session de débogage.

GitHub: github.com/MemPalace/mempalace
Stars: ⭐ 51 800+ (popularité explosive)
Licence: MIT
Version: 3.3.5

Pourquoi c'est important : Les agents IA (Claude Code, Codex, Gemini CLI, etc.) ont une limitation fondamentale — ils oublient tout entre les sessions. MemPalace résout ce problème en donnant à votre IA un « palais » persistant de souvenirs qu'elle peut consulter à tout moment, avec 96,6% de rappel sur LongMemEval. Et tout cela fonctionne entièrement sur votre machine.

Fonctionnalités Clés

  • Stockage textuel — Aucun résumé, extraction ou paraphrase. Chaque mot est préservé exactement comme écrit.
  • 96,6% R@5 sur LongMemEval — Sans clé API, service cloud, ou appel LLM. Recherche sémantique pure.
  • Backend interchangeable — ChromaDB par défaut, avec une interface propre pour les alternatives.
  • Hiérarchie mémoire structurée — Ailes (personnes/projets), Pièces (sujets), Tiroirs (segments textuels).
  • 29 outils MCP — Accès complet en lecture/écriture, opérations sur le graphe de connaissances, navigation inter-ailes.
  • Graphe de connaissances temporel — Triplets entité-relation avec fenêtres de validité, basé sur SQLite local.
  • Local uniquement — Rien ne quitte votre machine sauf si vous optez explicitement.

Benchmarks

Métrique Score LLM Requis
LongMemEval R@5 (sémantique brut) 96,6% Aucun
LongMemEval R@5 (hybride v4) 98,4% Aucun
LongMemEval R@5 (+rerank LLM) ≥99% Any
LoCoMo R@10 (hybride v5) 88,9% Aucun
ConvoMem Rappel Moyen 92,9% Aucun
MemBench (ACL 2025) R@5 80,3% Aucun

Architecture

MemPalace suit une architecture modulaire en couches. Les données circulent des fichiers projet et transcriptions de conversations via les mineurs et scanners, sont intégrées dans un store vectoriel (ChromaDB), et servies via le CLI, le serveur MCP, ou l'API Python.

Architecture MemPalace

Le système est organisé en plusieurs couches clés :

  1. Sources d'entrée — Fichiers projet (code, docs, notes) et exports de conversations (sessions Claude Code, exports ChatGPT, logs Slack).
  2. Mineurs & Scanneursmempalace mine ingère les données. Le scanneur de projet détecte les personnes, projets et structure de dossiers.
  3. Couche Palais — Le modèle organisationnel : Ailes (personnes/projets), Pièces (sujets), Halls (catégories), Tiroirs (segments textuels).
  4. Embedding & Store Vectoriel — ChromaDB stocke les embeddings vectoriels. Modèle local (~300 Mo), sans appel API.
  5. Graphe de Connaissances — Graphe temporel entité-relation (SQLite) qui suit les faits avec fenêtres de validité.
  6. Couche de Récupération — Recherche sémantique avec boosting par mots-clés, proximité temporelle, et reranking LLM.
  7. Interfaces — CLI, Serveur MCP (29 outils), API Python, hooks de sauvegarde automatique pour Claude Code.

Prérequis

  • Python 3.9+
  • ~300 Mo d'espace disque pour le modèle d'embedding par défaut
  • uv (recommandé) ou pip pour l'installation
  • Un répertoire projet à indexer

Installation & Configuration

Étape 1 : Installer MemPalace

La méthode recommandée utilise uv :

# Installation avec uv (recommandé)
uv tool install mempalace

# Ou avec pip
pip install mempalace

Vérifiez l'installation :

mempalace --version
# Devrait afficher : mempalace 3.3.5

Étape 2 : Initialiser Votre Palais

# Depuis l'extérieur du projet
mempalace init ~/projects/monapp

# Ou depuis l'intérieur du projet
cd ~/projects/monapp
mempalace init

Ceci scanne votre répertoire projet et :

  • Détecte les personnes et projets à partir du contenu des fichiers
  • Crée des pièces à partir de votre structure de dossiers
  • Crée le répertoire de config ~/.mempalace/

Étape 3 : Miner Vos Données

# Miner les fichiers projet (code, docs, notes)
mempalace mine ~/projects/monapp

# Miner les sessions Claude Code
mempalace mine ~/.claude/projects/ --mode convos

# Cibler par projet avec --wing
mempalace mine ~/projects/monapp --wing monapp

Étape 4 : Rechercher

# Recherche basique
mempalace search "pourquoi avons-nous migré vers GraphQL"

# Recherche ciblée (aile uniquement)
mempalace search "décision auth migration" --wing monapp

Étape 5 : Intégration MCP

Pour que votre agent IA interroge MemPalace automatiquement, configurez le serveur MCP.

Créez ou éditez ~/.mempalace/config.yaml :

mcp:
enabled: true
transport: stdio

Ajoutez-le à votre configuration MCP Claude Code ou Hermes Agent :

{
  "mcpServers": {
    "mempalace": {
      "command": "mempalace",
      "args": ["mcp"]
    }
  }
}

Étape 6 : Hooks de Sauvegarde Auto (Claude Code)

mempalace hooks install

Utiliser le Graphe de Connaissances

from mempalace.knowledge_graph import KnowledgeGraph

kg = KnowledgeGraph()

kg.add_triple("Kai", "travaille_sur", "Orion", valid_from="2025-06-01")
kg.add_triple("Maya", "assignée_à", "auth-migration", valid_from="2026-01-15")

kg.query_entity("Kai")
# → [Kai → travaille_sur → Orion (actuel)]

kg.query_entity("Maya", as_of="2026-01-20")
# → [Maya → assignée_à → auth-migration (actif)]

Comparaison : MemPalace vs Alternatives

  • Mem0 — Utilise le résumé (perd du contexte), nécessite une API cloud. MemPalace stocke le texte textuellement et fonctionne 100% en local.
  • Mastra Memory — Stockage résumé, dépendant du cloud. MemPalace est local-first sans clé API.
  • Zep — Utilise Neo4j pour le graphe. MemPalace utilise SQLite (plus simple, sans dépendance externe).

Ressources