ShipItAndPray/mcp-memory

🧠 Knowledge & Memory
0 Views
0 Installs

šŸ“‡ šŸ  šŸŽ 🪟 🐧 - Smart memory with exponential decay. Memories strengthen on access and fade when unused — solving the Karpathy problem of unbounded context growth. 7 tools, SQLite-based, zero dependencies.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "shipitandpray-mcp-memory": {
      "command": "npx",
      "args": [
        "-y",
        "shipitandpray-mcp-memory"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

mcp-memory

Smart memory for AI agents. Memories decay, topics are frequency-weighted, one-time questions don't become obsessions.

Solves the Karpathy problem: "A single question from 2 months ago keeps coming up as a deep interest with undue mentions in perpetuity."

What's New in v0.2.0

  • Auto-categorization — no need to specify category, inferred from content
  • Semantic dedup — bigram similarity prevents duplicate memories
  • Preference supersede — "prefers dark mode" then "prefers light mode" updates, not duplicates
  • Recall auto-reinforces — searching for a topic counts as a mention
  • Recall auto-prunes — dead memories cleaned up on every read
  • System prompt injection — active memories provided via MCP prompts capability
  • Fuzzy forget — "VS Code" matches "User prefers VS Code for all editing"
  • 7 tools → 4 tools — simpler API, higher adoption (backwards compatible)

In Action

Day 1: User asks 5 questions (Rust, dark mode, Python, job title, Haskell)

  #1 [ACTIVE] rel=1.000 cat=preference "User prefers dark mode in all editors"
  #2 [ACTIVE] rel=0.900 cat=fact       "User works as a senior software engineer"
  #3 [FADING] rel=0.500 cat=question   "User is building a Python web scraper"
  #4 [FADING] rel=0.300 cat=one-time   "User asked about Rust programming"
  #5 [FADING] rel=0.300 cat=one-time   "User asked what Haskell monads are"

Day 2-5: User mentions Python 4 more times → auto-upgraded to "interest"

  #1 [ACTIVE] rel=2.658 mentions=5 cat=interest    "Python web scraper"
  #2 [ACTIVE] rel=1.000 mentions=1 cat=preference  "dark mode"
  #3 [ACTIVE] rel=0.900 mentions=1 cat=fact         "senior software engineer"
  #4 [FADING] rel=0.300 mentions=1 cat=one-time     "Rust" ← FADING, won't obsess
  #5 [FADING] rel=0.300 mentions=1 cat=one-time     "Haskell" ← FADING, won't obsess

After 60 days:
  Rust:   0.3 Ɨ 0.5^(60/7) = 0.0008 → DEAD (gone, as it should be)
  Python: 0.8 Ɨ 0.5^(60/60) Ɨ 3.32 = 1.329 → STILL ACTIVE (real interest)

How It Fixes This

Current LLM Memorymcp-memory
Ask about Rust once → mentioned foreverAsk once → fades in 7 days
All memories equal weightCategories: one-time (7d), question (14d), interest (60d), preference (180d)
No decayExponential decay — old memories naturally fade
No frequency trackingMentioned 5+ times → auto-upgrades from "question" to "interest"
Keyword matchingBigram similarity + relevance scoring
Agent must decide to rememberAuto-categorizes from content patterns
Contradicting preferences coexistNew preference supersedes old one
Manual cleanup requiredAuto-prunes dead memories on recall

Install

"mcpServers": {
  "memory": {
    "command": "npx",
    "args": ["-y", "mcp-memory"]
  }
}

Tools

ToolWhat it does
rememberStore a memory. Auto-categorizes from content. Auto-deduplicates via bigram similarity. Supersedes conflicting preferences.
recallRetrieve memories ranked by relevance. Auto-reinforces top match. Auto-prunes dead memories.
forgetDelete a memory by ID or fuzzy content match.
inspectDebug view: all memories with decay status, relevance scores, category breakdown, health.

Auto-Categorization

No need to specify category — it's inferred from content:

Content PatternAuto-CategoryDecay
"prefers X", "likes X", "always uses X"preference180 days
"works as X", "is a X", "lives in X"fact365 days
"actually X", "meant X", "wrong"correction365 days
"currently building", "working on"context30 days
"what is X", "how to X"one-time7 days
anything elsequestion14 days

You can still override: remember(content: "...", category: "preference")

Examples

Auto-categorized preference:

remember(content: "User prefers TypeScript over JavaScript")
→ Auto-detected as "preference". Persists 180 days.

Semantic dedup:

remember(content: "Works as data scientist at Google")
remember(content: "Works as senior data scientist at Google")
→ Second call reinforces first (80% similar). Keeps longer version.

Preference supersede:

remember(content: "User prefers dark mode")
remember(content: "User prefers light mode")
→ Superseded: "dark mode" → "light mode". One memory, not two.

Recall auto-reinforces:

recall(query: "MCP servers")
→ Returns matching memories AND counts this as a mention.
  mention_count goes from 1 → 2 automatically.

Fuzzy forget:

forget(content: "VS Code")
→ Matches and removes "User prefers VS Code for all editing"

The Math

relevance = base_weight Ɨ decay Ɨ frequency_boost

where:
  base_weight  = category-specific (0.3 for one-time, 1.0 for preference)
  decay        = 0.5 ^ (age_days / halflife_days)
  freq_boost   = 1 + log2(mention_count)

A one-time question from 2 months ago: 0.3 Ɨ 0.5^(60/7) Ɨ 1.0 = 0.0003 → effectively zero. Won't surface.

A preference mentioned 8 times, last week: 1.0 Ɨ 0.5^(7/180) Ɨ 4.0 = 3.89 → top of every recall.

Backwards Compatibility

v0.2.0 still accepts the old v0.1.0 tool names (reinforce, prune, stats). They map to the new tools internally. No breaking changes.

License

MIT

Related MCP Servers

modelcontextprotocol/server-memoryVerified

šŸ“‡ šŸ  - Knowledge graph-based persistent memory system for maintaining context

🧠 Knowledge & Memory2 views
0xshellming/mcp-summarizer

šŸ“• ā˜ļø - AI Summarization MCP Server, Support for multiple content types: Plain text, Web pages, PDF documents, EPUB books, HTML content

🧠 Knowledge & Memory0 views
20alexl/claude-engram

šŸ šŸ  - Persistent memory and session intelligence for Claude Code. Auto-tracks mistakes, decisions, and context via hooks. Mines session history for patterns and cross-session search. Loop detection, pre-edit warnings, context compaction survival. Runs locally with Ollama.

🧠 Knowledge & Memory0 views
a2cr/a2cr

šŸ ā˜ļø šŸ  šŸŽ 🪟 🐧 - MCP server for AI-agent handoffs. Saves client-encrypted WorkBaton checkpoints and WorkStash notes so Codex, Claude Code, Roo Code, and other MCP clients can resume work without passing full chat history.

🧠 Knowledge & Memory0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it →
ā˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.