{"name":"io.github.LuiggiVal08/toon-memory","slug":"luiggival08-toon-memory","title":"Toon Memory","description":"Offline persistent memory for AI coding agents — 35 tools, 80% fewer calls, no LLM","url":"https://mcp.market/server/luiggival08-toon-memory","rating":null,"grade":"B","score":71,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":34,"stars":11,"forks":0,"downloads_week":119,"last_push_at":"2026-08-05T00:02:00.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/LuiggiVal08/toon-memory","website":"https://github.com/LuiggiVal08/toon-memory#readme","version":"4.3.5","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"toon-memory","version":"4.3.5","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}],"environmentVariables":[{"description":"Encryption key for AES-256-GCM memory encryption","isSecret":true,"name":"TOON_MEMORY_KEY"},{"description":"Set to 'true' to enable activity capture hooks","name":"TOON_MEMORY_CAPTURE"},{"description":"Override the auto-detected session ID","name":"TOON_MEMORY_SESSION_ID"},{"description":"Override the auto-detected git branch name","name":"TOON_MEMORY_BRANCH"},{"description":"Set to disable session heartbeat tracking","name":"TOON_MEMORY_NO_SESSION"},{"description":"GitHub personal access token for exporting/importing memory to Gist","isSecret":true,"name":"GITHUB_TOKEN"}]}],"tools":[{"name":"context_brief","description":"Generate a compact context briefing: relevant memory + active sessions + project health. Single call instead of 5-6 separate calls. Zero LLM, pure deterministic logic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context_diff","description":"What changed since the last session: git commits + modified files + new/updated memory entries. Zero LLM.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context_export","description":"Export all memory as markdown injectable for other agents or sessions. Full (detailed) or compact format. Zero LLM.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context_focus","description":"Hyper-focused context for a specific task: relevant entries + related files + code referencing the symbol + existing tests. Zero LLM.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context_generate","description":"Generate a full system prompt: project (package.json, deps, framework) + git (branch, commits) + memory (relevant entries) + sessions. Single call to prepare the agent. Zero LLM.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context_health","description":"Full memory health audit: orphan links, duplicates, broken refs, expired TTL, quality, stale sessions. Includes score 0-100. Zero LLM.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_archive","description":"Move old entries (>30 days) to archive.toon to keep memory clean.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_backup","description":"Create a timestamped backup of the memory file. Use before major operations or to preserve state.","write_action":true,"price_micros":0,"input_schema":null},{"name":"memory_captured","description":"Show activity log captured automatically by hooks (only if capture is enabled). Useful for promoting observations to memory with memory_remember.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_checkpoint","description":"Save or update a session checkpoint with 7-day TTL. Creates a knowledge entry snapshot of the current session state. Same session = upsert (single checkpoint per session). Auto-expires.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_compress","description":"LLM-powered compression: select entries to compress into one concise entry. The agent (YOU) reads the entries, writes a compressed summary, then calls memory_remember to save it. Two-step dance: this tool provides context, you provide intelligence.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_consolidate","description":"Cleanup operations, all deterministic (no LLM): identical removes duplicate entries (keeps the first), similar merges entries with >50% word overlap (keeps longer content, combines tags), low-quality removes entries below minQuality or without tags, versions marks entries describing the same subject with older versions obsolete in favor of the newest.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_decrypt","description":"Disable encryption and decode memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_diff","description":"Show what changed in memory since a date. Useful for seeing what was learned since the last session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_encrypt","description":"Enable AES-256-GCM encryption for memory. Requires TOON_MEMORY_KEY in environment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_export_gist","description":"Export memory to a private GitHub Gist for cloud sync. Requires GITHUB_TOKEN env var. Zero deps \\u2014 uses Node's built-in fetch().","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_export_global","description":"Write the current project memory to the global memory file (~/.toon-memory/memory/global.toon, or TOON_MEMORY_GLOBAL_FILE). One-shot: the global file is a plain TOON document you curate and import into other projects with memory_import_global.","write_action":true,"price_micros":0,"input_schema":null},{"name":"memory_forget","description":"Lifecycle operations for a memory entry: soft (default) marks it obsolete and hides it from recalls, hard permanently removes it, restore brings it back to active, supersede retires it with a typed superseded_by edge to a newer entry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_graph_path","description":"Find the shortest path between two memory entries in the knowledge graph. Shows how two concepts are connected through related entries.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_import_gist","description":"Import memory from a GitHub Gist. Merges entries (keeps newer dates, combines tags). Requires GITHUB_TOKEN env var.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_import_global","description":"Merge cross-project conventions from the global memory file (~/.toon-memory/memory/global.toon, or TOON_MEMORY_GLOBAL_FILE) into this project. One-shot merge by key: keeps newer dates, unions tags/links, preserves all fields. Deterministic and offline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_merge_sessions","description":"Merge observations from multiple sessions/branches into a consolidated view. Deduplicates and suggests entries to promote to memory. Inspired by Hindsight's multi-agent session merging.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_pin","description":"Pin a memory entry with priority level (1-5). Higher priority entries appear first in recalls. Default: 1. Useful for critical decisions, project rules, or frequently-needed context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_primer","description":"Generate a compact system primer: always-current knowledge map for auto-injection into agent context. Excludes private entries, shows top memories by importance, categories, and patterns. Use at session start or when context feels stale.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_promote","description":"Heuristic auto-promote from the capture log (no LLM). Each observation gets a deterministic confidence score; high-confidence ones promote as active entries, low-confidence (\\u2264 minConfidence) become reviewable drafts. Opt-in: run with dryRun: true first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_recall","description":"Search the project's persistent memory. Returns relevant entries. Use BEFORE reading files. Pattern: recall \\u2192 context_diff for recent changes \\u2192 capture to save observations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_reflect","description":"Deterministic memory audit (no LLM): tag co-occurrence themes, hub/orphan entries, near-duplicates, contradiction candidates, stale entries, and superseded-but-active entries. Signals what to link, merge, or retire.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_remember","description":"Save a fact to the project's persistent memory (decisions, patterns, bugs, knowledge). Persists between sessions. Tags: 'private' excludes from context injection; 'superseded' marks as obsolete.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_search","description":"Search memory with combined filters: text query, category, tags, and date range. Returns ranked results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_secret","description":"Store/retrieve secrets in the encrypted sidecar vault (secrets.toon, AES-256-GCM). Keeps data.toon readable and open while sensitive values stay encrypted at rest. Requires TOON_MEMORY_KEY. 'store' encrypts, 'get' decrypts, 'list' shows metadata only (no values), 'forget' removes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_sessions","description":"Show active agent sessions in this project (git branch, files touched, last-seen) and detect soft conflicts (files touched by 2+ sessions). Use at startup to avoid overwriting other parallel sessions' work.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_smart_recall","description":"Unified retrieval: combines BM25 + graph + decay + quality in a single call. Use at the START of each task to get all relevant memory context. Then use context_diff for recent changes, context_focus for deep dives.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_stats","description":"Show project memory statistics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_suggest","description":"Suggest memory entries related to a given context. Useful for gathering context before a task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_summary","description":"Save or retrieve a summary of a large file to save tokens.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_tag","description":"Batch add, remove, or set tags on one or more memory entries by key or id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory_unpin","description":"Remove the pin from a memory entry so it returns to normal ranking.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":71,"grade":"B","scanned_at":"2026-09-24T05:06:39.497Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T05:06:39.445Z","components":{"code":{"score":20,"max":25,"notes":["60 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 50 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"mcp/server.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"toon-memory","version":"4.3.5","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-08-05T00:05:21.175Z","repositoryUrl":"git+https://github.com/LuiggiVal08/toon-memory.git","weeklyDownloads":119}],"repo":{"found":true,"owner":"LuiggiVal08","repo":"toon-memory","archived":false,"pushedAt":"2026-08-05T00:02:00Z","stars":11,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/130609568?v=4","ownerCreatedAt":"2023-04-12T21:25:37Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/130609568?v=4&s=128","source":"github"},"presence":{"stars":11,"forks":0,"downloadsWeek":119,"license":"MIT","lastPushAt":"2026-08-05T00:02:00.000Z","score":34}}}},"grade_history":[],"reviews":[]}