Offline persistent memory for AI coding agents β 37 tools, 80% fewer calls, no LLM
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Toon Memory.
memory_rememberSave a decision, pattern, bug, knowledge, or **warning** (negative "do NOT do this" memory, recalled with a boost) β optional TTL, auto-tag inference, `links` to build the memory graph, merge-dedup on same key, auto quality score and confidence. **Write-path intelligence**: each save is annotated wβ¦
memory_recallSearch memory (use BEFORE reading files, filters expired TTL). `mode: "graph"` expands a relationship-aware subgraph for higher precision. `budget: "tiny"
memory_smart_recallUnified recall**: BM25 + graph + decay + quality in one call. `sessionBias` boosts entries from the current git branch. `explain: true` appends per-entry reasons, `budget_tokens` caps output by estimated tokens. Use at the START of every task. Returns compact, token-efficient output
memory_forgetLifecycle ops** by key or id: `action: "soft"` (default) marks obsolete, `"hard"` permanently removes, `"restore"` brings back to active, `"supersede"` retires it with a `superseded_by` link to `new_key
memory_statsView memory state (including TTL stats, quality distribution, origin/status breakdown, cold memories below quality/access thresholds, and **hit rate / duplicate / obsolete** metrics)
memory_summarySave/retrieve file summaries
English | EspaΓ±ol | δΈζ | ζ₯ζ¬θͺ | νκ΅μ΄ | PortuguΓͺs (BR) | Deutsch | FranΓ§ais
The Continuity Layer for AI Agents β AI agents shouldn't have to relearn your project every session.
Ever had that feeling where your AI agent forgets everything from yesterday's session? You explain the same architecture decision for the third time, and it still suggests the approach you already rejected?
toon-memory fixes this. It's the Continuity Layer for AI Agents β a lightweight system that preserves your project's knowledge, decisions, and conventions across sessions, so every session starts where the last one ended. Fully local and private, over MCP β no cloud, no server.
| Scenario | What toon-memory does |
|---|---|
| Design debates | "We chose Redis over Memcached because of pub/sub support" |
| Framework choices | "This project uses Zod for validation, not Joi" |
| Bug fixes | "Redis pool exhaustion β fix was max_connections=20" |
| Architecture notes | "Broker service uses RESP protocol, not HTTP" |
| Onboarding | "The deploy script lives in scripts/deploy.sh" |
| Team context | "PR #142 reverted the caching change β don't re-add it" |
Read How toon-memory Makes Your AI Agent Smarter to see a real-world demo of persistent memory in action.
memory_smart_recall (unified recall with session bias), memory_sessions for multi-session coordination, context_* tools for one-call context generation (briefing, diff, focus, health audit, export), memory_compress (LLM-powered compression), memory_consolidate (deterministic dedup/merge/cleanup), memory_primer (auto-injected context), memory_merge_sessions (cross-session merge), memory_pin/memory_unpin (pin important entries with priority 1-5), memory_checkpoint (session snapshot with 7d TTL), memory_search (unified search with tag filters + session bias), memory_tag (batch tag operations), memory_export_gist/memory_import_gist (GitHub Gist sync), memory_secret (encrypted secrets vault), memory_export_global/memory_import_global (cross-project conventions), memory_forget (soft/hard delete, restore, supersede), memory_reflect (staleness/quality reflection), and memory_promote (auto-promote low-confidence drafts).toon-memory/memory/ to .gitignorelinks/[[key]] refs; memory_recall can expand a relationship-aware subgraph for more precise, lower-token recall (no embeddings, no LLM)memory_recall({ compact: true }) returns numeric-indexed entries, drops id/date/file, renders graph edges as ->2, and truncates graph neighbors to snippetstoon-memory init scans package.json/Cargo.toml/requirements.txt/go.mod and writes a project vocabulary so entries mentioning a dependency get auto-tagged with itmemory_smart_recall combines BM25 + graph + decay + quality in one call; the LLM calls this at the start of every taskkey merges attributes (union of tags, max confidence, latest date, combined links) instead of overwritingmemory_compress uses AI to summarize long entries; memory_consolidate(mode: "low-quality") does batch cleanup deterministicallymemory_merge_sessions merges observations across parallel sessions for a filememory_export_gist and memory_import_gist sync memory entries via GitHub Gist (zero dependencies)config.verbatim preserves original entries instead of overwriting on savecontext_generate (full briefing), context_diff (incremental), context_focus (targeted), context_health (audit), context_export (markdown) β each replaces 5-6 manual tool calls. Zero LLM, pure deterministic aggregationsystemPrimer(), showing top 5 memories for instant contextpath_scope); recall filters by scope automaticallybudget: "tiny" (key+1 line, ~50 tokens), "normal" (compact with tags/edges), "deep" (all fields with origin/scope/status). Backward compatible with compact: truehuman, agent, inferred); human assertions get a quality boostmemory_forget soft-deletes by default (sets status=obsolete). Restore with memory_forget(key, action: "restore"), hide with action: "soft", permanent removal via action: "hard"context_health now detects missing-evidence (path_scope without file) and stale-claims (overlapping content in same category)superseded_by, supersedes, relates), written as type:key in the graph. Explicit links become relates:key, so you can tell how entries are related, not just that they arek = clamp(3..60, round(sqrt(n))). Benchmark (8 gold queries): nDCG 0.776, MRR 0.917 β exact parity with the previous linear scoring. Pass rrf: false to fall backmemory_reflect ranks entries by staleness, quality, and over-connection to surface what needs attention or cleanup. Deterministic, zero LLMmemory_forget(key, action: "supersede", new_key) marks an entry as replaced by a newer one (superseded_by link + supersededOn date). memory_recall({ as_of }) re-includes old entries for point-in-time queries before their supersessionmemory_promote promotes low-confidence drafts to active entries deterministically (threshold 0.65, Jaccard dedup), with dryRun by defaultmemory_recall/memory_smart_recall accept explain: true and append a deterministic reason line to every returned entry (β³ 100% relevance Β· used 14Γ Β· used today Β· importance HIGH) β why it was retrieved, no LLMFactual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/toon-memory)<a href="https://allmcps.com/mcp/toon-memory"><img src="https://allmcps.com/api/badge/toon-memory?style=directory" alt="Toon Memory on AllMCPs" /></a>