Local MCP Memory System with Consolidation for AI Conversations

What This Is
A developer created a local memory system for AI conversations that consolidates and synthesizes information rather than just storing it. Built as an MCP server, it works with compatible clients like Claude Desktop and Claude Code, running 100% locally with no data leaving your hardware.
How It Works
The key differentiator from standard RAG systems is the consolidation process. Every 6 hours, a local LLM (Qwen 2.5-7B running in LM Studio) clusters recent memories by topic and consolidates them into structured knowledge documents. It extracts facts, solutions, and preferences, merging them with existing knowledge and versioning everything.
Technical Stack
- Embeddings: nomic-embed-text-v1.5 via LM Studio
- Vector search: FAISS (semantic + keyword hybrid)
- Consolidation LLM: Qwen 2.5-7B (Q4) via LM Studio
- Storage: SQLite for episodes, FAISS for vectors
- Protocol: MCP — works with anything that supports it
- Config: TOML
Features
- Semantic dedup with cosine similarity 0.95 threshold
- Adaptive surprise scoring — frequently accessed memories get boosted, stale ones decay
- Atomic writes with tempfile + os.replace for crash protection
- Tombstone-based FAISS deletion — O(1) instead of rebuilding the whole index
- Graceful degradation — if LM Studio goes down, storage still works, consolidation pauses
- 88 tests passing
MCP Tools
memory_store— save an episode with type, tags, surprise scorememory_recall— semantic search across episodes + consolidated knowledgememory_forget— mark an episode for removalmemory_correct— update a knowledge docmemory_export— full JSON backupmemory_status— health check
Why MCP Was Chosen
Models get replaced frequently, but accumulated knowledge shouldn't disappear with them. MCP makes the memory portable — one store, many interfaces. The memory layer becomes more valuable than any individual model.
Practical Results
After about a week of use, the system built knowledge documents about PC hardware, VR setup, coding preferences, and project architectures — all synthesized from normal conversation. When starting new chats, the AI already knows the user's context without re-explaining.
Requirements
- Python 3.11+
- LM Studio with Qwen 2.5-7B and nomic-embed-text-v1.5 loaded
- Any MCP client
📖 Read the full source: r/LocalLLaMA
👀 See Also

Claude AI's UltraThink feature returns with practical usage guidance
Claude AI has reinstated the UltraThink feature after user feedback. Medium effort is now the default for Opus 4.6 (Max/Team), with High effort available permanently via /model, and UltraThink as a one-turn override to high effort.

Extracting OpenClaw Components: A Developer's Experience with Lane Queue and Memory System
A developer attempted to extract specific components from OpenClaw for use in personal AI agents, testing the Lane Queue task execution system and examining the memsearch memory system. The Lane Queue was successfully reimplemented in Python using documentation, revealing gaps in documentation and 13 implementation issues.

NarrateAI MCP Server Demo Shows Claude Adding Voiceover to Videos
A live demo shows Claude using the NarrateAI MCP server to automatically narrate videos from a URL, handling async polling and generating narration by analyzing silent screen recordings.

ClawPy: Minimal Single-File Python Implementation of OpenClaw with Experience Memory
A developer built ClawPy, a stripped-down Python script that implements OpenClaw's autonomous task execution mechanics with a persistent experience system that learns from past errors and successes.