- Memoria Mcp
Memoria Mcp
memoria-mcp — Persistent memory and context awareness for Claude Desktop (Chat, Cowork, and Code share a single self-maintained memory across sessions.)
It's an MCP server that gives Claude a file-based, persistent memory system that works across sessions, surfaces, and time. When Claude starts a conversation, it calls get_context() and instantly knows who you are, what you're working on, what happened yesterday, and what's due tomorrow. When the conversation ends, Claude logs a structured summary. The next session picks up where the last one left off.
The problem it solves
Claude is stateless by design. Every new conversation is a blank slate — no memory of what you discussed, decided, or left unfinished. If you work with Claude regularly on ongoing projects, studies, or work tasks, you end up repeating yourself constantly. memoria-mcp eliminates that friction by giving Claude a structured, self-maintaining memory.
How it works
The memory lives as plain markdown files in a local folder on your machine. No database, no cloud service, no API keys — just files you can read, edit, and version-control yourself. Claude reads and writes to this folder through 17 tools organized into six categories: Context and awareness: get_context() returns a full situation overview (deadlines, projects, recent activity) in one call. get_deadlines() extracts dates from your context file and sorts them by urgency. update_context() keeps the living context model fresh. Session continuity: log_session_summary() creates lightweight, structured session traces at the end of each conversation. get_recent_activity() shows what happened in the last N days. Together, they bridge the gap between conversations so context is never lost. Reflection and intelligence: reflect("topic") synthesizes everything the memory system knows about a topic — pulling from context files, session logs, project docs, and archives into a single structured overview. suggest_context_updates() compares recent sessions against the living context model and flags stale information, unprocessed changes, and open items. acknowledge_updates() marks items as handled. Search: search_memory() does full-text search across all active files. search_archive() searches archived content including monthly digests and raw files. File management: read_memory_file(), write_memory_file(), and list_memory_files() provide direct access to the memory filesystem for creating project docs, research notes, or any structured content. Archival: archive() consolidates old sessions and logs into monthly digests, moves originals to a raw backup folder, and keeps the active file count manageable. archive_project() handles completed project files. Nothing is ever deleted — archived content remains searchable.
Key design decisions
The system uses structure over search. Instead of embedding-based retrieval, it relies on a living context document that Claude actively maintains — a markdown file describing your current situation, updated continuously. This means Claude doesn't need to "find" relevant context through semantic search; the most important information is always right there in get_context(). Session summaries are intentionally lightweight: type, highlights, context changes, open items. They're optimized for quick scanning by the next session, not for human reading. Detailed narrative logs go in log_entry() when needed. Everything is local and transparent. Your memory is a folder of markdown files. You can read them, edit them, back them up, or delete them. There's no lock-in, no proprietary format, no cloud dependency.
What you need
Python 3.10+, the mcp pip package, and Claude Desktop (or any MCP-compatible client). Setup takes about 5 minutes. Full configuration is optional — the defaults work out of the box, with environment variables available for customizing directory names, file names, and retention periods.