AI Long-Term Memory MCP Server

AI Long-Term Memory MCP Server

Provides persistent long-term memory for AI agents with semantic search and activation-based decay. Enables AI systems to remember across sessions through layered memory architecture and automatic context-aware retrieval.

Category
Visit Server

README

AI Long-Term Memory MCP Server

A Model Context Protocol (MCP) server that provides persistent long-term memory for AI agents. Designed for real-world use with Claude Code, enabling AI systems to remember across sessions.

Features

  • Layered Memory Architecture: 3-layer system (facts → experiences → decision chains)
  • Semantic Search: Embedding-based retrieval using cosine similarity
  • Memory Decay: Activation-based decay — memories that get recalled stay alive, unused ones fade
  • Emotion-Aware: Stores emotional valence and intensity, enabling "flashbulb memory" effects
  • Auto-Surface: Hook-based automatic memory retrieval triggered by conversation context
  • Deduplication: Automatically merges similar memories (>80% similarity threshold)

Architecture

┌─────────────────────────────────────────┐
│              Claude Code                │
│         (or any MCP client)             │
├─────────────────────────────────────────┤
│            MCP Protocol                 │
├─────────────────────────────────────────┤
│          Memory MCP Server              │
│  ┌───────────┐  ┌──────────────────┐   │
│  │  Write /   │  │  Surface /       │   │
│  │  Update /  │  │  Search /        │   │
│  │  Delete    │  │  Read            │   │
│  └─────┬─────┘  └────────┬─────────┘   │
│        │                 │              │
│  ┌─────▼─────────────────▼─────────┐   │
│  │         SQLite Database          │   │
│  │  memories + embeddings + decay   │   │
│  └─────────────────────────────────┘   │
├─────────────────────────────────────────┤
│         Auto-Surface Hook              │
│  (keyword matching on user input)      │
└─────────────────────────────────────────┘

Memory Schema

Field Type Description
title text Short title
content text Full content
summary text One-line summary
compressed text Medium compression
layer int 1=fact, 2=experience, 3=decision chain
importance int 1-5 scale
emotion_intensity real 0-10, high = flashbulb memory
valence real -1 to 1, negative to positive
mood text Mood description
tags text Comma-separated tags
type text note/diary/feedback/project/user
embedding text JSON array, generated on write
activation_count int Times recalled
last_activated text Last recall timestamp
status text active/decayed/expired

MCP Tools

Tool Description
memory_write Create or update a memory with auto-embedding and dedup
memory_read Read a specific memory by ID
memory_search Semantic search using embedding similarity
memory_surface Surface top memories by importance and relevance
memory_update Update existing memory fields
memory_delete Soft-delete a memory
memory_decay Run decay cycle — deactivate unused memories
memory_expire Permanently remove decayed memories
memory_stats Get memory system statistics

Decay Mechanism

Memories decay based on last_activated, not created_at. A memory that keeps getting recalled stays active indefinitely. Decay thresholds:

  • Low importance (1-2) + not activated in 7 days → decay
  • Medium importance (3) + not activated in 14 days → decay
  • High importance (4-5) + not activated in 30 days → decay
  • Pinned memories never decay

Inspired by research on human memory consolidation — informed by 8 papers (see design doc).

Auto-Surface Hook

auto_surface.cjs runs as a Claude Code UserPromptSubmit hook. On each user message, it:

  1. Extracts keywords from the message
  2. Searches the memory database for matches
  3. Injects relevant memories into the conversation context

This enables passive recall without explicit search commands.

Setup

npm install

Add to Claude Code MCP config:

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["path/to/memory-mcp/index.js"]
    }
  }
}

Design Decisions

  • SQLite over vector DB: Simpler deployment, single file, good enough for <10K memories
  • Activation-based decay over time-based: Mimics human memory — used memories strengthen, unused ones fade
  • Embedding dedup: Prevents memory bloat from repeated similar events
  • Layered architecture: Separates facts (stable) from experiences (contextual) from decisions (actionable)

Research References

Built on research from 8 papers:

  • Generative Agents (Stanford, 2023): Memory stream, reflection, planning/react
  • MemGPT (2023): Tiered memory with OS-inspired page management
  • LUFY (2024): Forgetting mechanism with emotion arousal weighting
  • MemoRAG (2024): Memory-inspired retrieval with dual scoring
  • Mem0 (2024): Graph-based memory with auto-extraction and dedup
  • A-Mem (2024): Self-organizing agentic memory networks
  • LoCoMo (2024): Long-context conversation memory benchmark
  • Chloe/Noah (Community): Four-dimensional companion AI memory

See docs/design.md for detailed analysis of each paper's influence.

Status

In active daily use. 95+ memories across 17 sessions. Iterating based on real-world usage patterns.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured