Local-first memory for AI agents: SQLite FTS5, deterministic recall, no vector DB, no cloud.
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.
Memory Kernel is a small local memory layer for AI agents.
It helps you save useful things such as decisions, constraints, tasks, facts, and notes in a local SQLite database, then pull back only the few memories that matter for the current task.
Published package name on PyPI: amormorri-memory-kernel
CLI command after install: memory-kernel
Practical guide in Ukrainian: docs/OPERATING_GUIDE_UK.md
Release notes: CHANGELOG.md
In plain English, Memory Kernel does 4 things:
This project is not trying to create a magical black-box memory. It is trying to create a memory layer you can inspect, control, export, and trust.
If you just want to try it, do this:
What happened there:
init created a local database.remember saved one clear memory.search fetched it back.export created a backup file you can move or restore later.If you are using the repository instead of PyPI:
Most people will use it like this:
remember.ingest.search, context, or wake-up.show, update, or delete.import.rememberUse remember when you already know exactly what should be saved.
Good examples:
ingestUse ingest when you have raw text and want the system to split it into structured memories.
Good examples:
Add --dry-run to preview the segments and inferred kinds/titles/tags without writing to the database. Useful before committing a long file.
Add --interactive for a guided flow that prompts for scope, source, tags, and the text itself, then shows a preview and asks for confirmation before saving. Helpful for first-time users or for ad-hoc captures from the terminal without remembering the flag names.
searchUse search when you want a few relevant exact memories for a query.
contextUse context when you want a compact pack for an agent prompt.
wake-upUse wake-up when you want a small "hot memory" pack before a task starts.
statsUse stats when you want to see database size and whether the native accelerator is active.
--since adds recent-activity counts (created and updated since the cutoff) plus a per-kind breakdown for the window. Accepts either a relative form like 7d or an ISO date.
listUse list to browse recent memories (most recently updated first) with optional filters.
Default limit is 20. The output shows id, kind/scope, title, and the timestamps so you can pipe ids into show/update/delete.
showUse show when you have a memory id (printed by search, remember --json, or export) and want the full record.
updateUse update to fix specific fields on an existing memory without re-importing the whole database.
Only the fields you pass change. Pass --tags with no values to clear tags. Pass --kind, --importance, or --certainty to revise validation-bound fields.
deleteUse delete to drop a memory you saved by mistake or that no longer applies.
The command exits non-zero if the id does not exist, so wrap it in shell logic if you script around it.
forget / restoredelete removes a memory permanently. When you only want it out of recall but kept for safety, use forget β a soft-archive. Archived memories disappear from search, context, wake-up, and list, but the data stays and restore brings it back.
Re-saving the same memory with remember/ingest also resurrects it automatically.
reviseWhen a new memory replaces an old one, record the relationship with revise: the old memory is marked superseded (hidden from recall, kept for history with a pointer to its replacement).
This keeps memory self-curating: stale decisions fade out of recall as newer ones take their place, instead of piling up as contradictory noise.
decaydecay applies a forgetting curve: it auto-archives memories that are old, rarely recalled, and low-value, so the store and your recall stay lean over time. Each memory has a retention score built from its importance, how often it has been recalled (reinforcement), and how long since it was last seen (time decay).
Only note and fact memories are eligible β decision, constraint, task, and preference are never decayed. Archiving is the soft, recoverable kind, so restore and list --include-archived still reach faded memories. This is the heart of the project's thesis: spend the budget on what matters, let trivia fade.
completionUse completion to print a shell completion script for memory-kernel. The script is generated dynamically from the current parser, so it stays in sync as commands are added.
After installing, memory-kernel <Tab><Tab> shows all subcommands; memory-kernel remember --<Tab> lists flags for that command; memory-kernel remember --kind <Tab> cycles through valid kind values.
verifyUse verify to check that the database is internally consistent: schema version is current, derived columns (stems_text, fingerprint) match the source content, and the FTS5 index row count matches the memories table.
Without --repair, exit code is 0 when healthy and 1 when issues are found. With --repair, mismatches are recomputed in-place and the FTS index is rebuilt if its row count drifted; exit code is 0 if everything was fixed.
Factual 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/memory-kernel)<a href="https://allmcps.com/mcp/memory-kernel"><img src="https://allmcps.com/api/badge/memory-kernel?style=directory" alt="Memory Kernel on AllMCPs" /></a>