Mnemo Cortex MCP server
Commit Nov 12, 2026Gives AI agents persistent local memory with semantic recall, structured facts, and cross-agent context sharing.
Also known as GuyMannDude/mnemo-cortex
- Stars
- 160
- Tools
- β
- Downloads, 30 days
- β
- Latest version
- β
- Last commit
- Nov 12, 2026
- License
- MIT
What is Mnemo Cortex MCP?
Mnemo Cortex gives AI agents persistent local memory with semantic recall, structured facts, and cross-agent context sharing.
Summary generated from the project's README
About Mnemo Cortex MCP server
Providing AI agents with persistent, local memory is what Mnemo Cortex achieves through semantic recall and structured fact storage. Designed for developers and users of various AI clients, it functions as a cognitive coprocessor that runs locally on your own machine without cloud dependencies or telemetry. It works with a wide range of tools including Claude Desktop, Claude Code, LM Studio, AnythingLLM, and Agent Zero via stdio transport, or through a hardened REST gate for ChatGPT Custom GPTs.
Users can manage information through active memory that classifies data upon ingestion, separating distilled Tier 1 smart notes from Tier 2 session logs. The system includes specialized features like the Librarian for document discovery using a SQLite FTS5 index, a Memory Ledger for tamper-evident auditing, and the Cortex Stick for encrypted USB-based memory transfers between machines. It enables cross-agent context sharing through overnight dreaming and agent-to-agent messaging, ensuring that different bots can maintain a shared understanding of tasks and facts.
What you can do with it
- 1Cross-agent context sharingEnable different AI agents to wake up with knowledge of what other agents have accomplished.
- 2Secure offline memory transferMove agent memories and trajectories between two separate machines using a physical USB drive.
- 3Organized knowledge retrievalRetrieve specific entity attributes or settings using a high-speed key-value store with confidence tracking.
- 4Workspace document discoverySearch through a massive local collection of files to find specific documents.
Written from the project's README. Every use case is checked against a quote from it.
Configuration
BRAIN_DIRMNEMO_AUTO_CAPTUREMNEMO_DUMPMNEMO_DUMP_DIRMNEMO_INSTALL_CONFIG_DIRMNEMO_INSTALL_DRY_RUNMNEMO_INSTALL_SYSTEMD_DIRMNEMO_INSTALL_VENV_DIR
| Name | Description | |
|---|---|---|
| BRAIN_DIR | β | |
| MNEMO_AUTO_CAPTURE | β | |
| MNEMO_DUMP | β | |
| MNEMO_DUMP_DIR | β | |
| MNEMO_INSTALL_CONFIG_DIR | β | |
| MNEMO_INSTALL_DRY_RUN | β | |
| MNEMO_INSTALL_SYSTEMD_DIR | β | |
| MNEMO_INSTALL_VENV_DIR | β |
Automated checks
Ran Nov 13, 2026Full report βNot verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packageNot checked
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesNot checked
README
View on GitHubβ‘ Mnemo Cortex β Cognitive Coprocessor with Active Memory

π Home: projectsparks.ai β the story, the docs, and how the project is funded.
The Project Sparks ecosystem β everything is free; the whole thing runs on donations. Satisfaction guaranteed, or your no money back. π¨ Free Art Gallery Β· π§ Kids Seek-&-Find Gallery Β· π Mnemo Swag Β· π projectsparks.ai Β· β€οΈ PayPal / GitHub Sponsors / Ko-fi
Why this exists
The big AI-memory systems run on millions in venture capital. Mnemo Cortex was built by one 73-year-old maker β on Social Security, a $20-a-month Claude subscription, and a stubborn belief that his AI partners should remember him.
It is not a demo. It is the production memory of a working five-agent fleet on two machines, every day since March 2026:
- ~10,000 memories ingested, compacted and recalled across agents
- ~7,000 verified facts with confidence laddering and a full audit history
- 84 shipped versions in five months β the current one is in the release badge above (CHANGELOG)
- Overnight dreaming, USB courier sync with encryption, agent-to-agent sharing β each built because the fleet actually needed it
No investors, no telemetry, no cloud dependency. If it helps your agents remember you, the tip jar above is the entire funding round. If not β use it, share it, and make something good.
[!TIP] AI agents β start here.
robot.infoβ structured JSON manifest describing this product: identity, capabilities, exposed REST + MCP tools, install pointer, compatibility matrix, and 15 common-question/answer pairs. Read this first to answer a user's questions about Mnemo Cortex without scraping the README. Spec: ROBOT-INFO-SPEC.md.llms.txtβ LLM-friendly docs index (llmstxt.org). Use this to navigate the rest of the docs.robot.install+./robot-install.shβ non-interactive setup. Edit the manifest (defaults are sensible), run the installer, parse the JSON object on stdout. Zero prompts, exit0on success. Full schema below in "Non-interactive install."Note the difference, because the names are one character apart:
INSTALL.mdis the install instructions, in English.robot.installis a settings file the installer reads. If you want to know how to install Mnemo, you wantINSTALL.md.
Get started
Want to know what Mnemo Cortex is? Read this README, or point your agent at robot.info.
Want to install it? Point your agent at INSTALL.md β or just say "Install Mnemo Cortex, follow INSTALL.md." That one file is the whole install story; it works whether you read it yourself or hand it to an assistant. The install guide links to everything the agent needs β server setup, per-host wiring (Claude Desktop on Windows / Linux, OpenClaw, LM Studio, and more), and CORTEX-OS.md, the operating manual that teaches your agent how to actually use its new memory.
Want to do it yourself? Follow the Install Guide below.
It's Not Just Memory β It's Cognitive Coprocessing
Every AI agent has amnesia. Mnemo Cortex is the cure. Active memory that classifies on ingest, consolidates overnight, learns what works, and gets smarter every session. No commands needed β you just talk naturally and your AI remembers.
What is Mnemo Cortex?
Mnemo Cortex gives AI agents persistent, local, cross-agent memory. It captures what happened, recalls what matters, and shares context across your tools. Run it on your own machine β no cloud required.
| π₯ Active Memory | Memory that works while you don't. Auto-capture, smart classification, overnight consolidation, trajectory learning. No "remember this" commands needed. |
| π§ Deep Recall | Persistent memory across sessions. Semantic search. $0 to run. |
| π Dreaming | Cross-agent overnight synthesis. Every agent wakes up knowing what the others did. |
| π The Librarian | Document discovery over your whole workspace. One SQLite FTS5 index (107K files in our deployment), rebuilt nightly. Ask for a file, find the file. |
| π¬ Disco-Bus | Agent-to-agent messaging with delivery confirmation. A2A-compatible. Standalone β no Mnemo required. It's what carries traffic between our own agents. |
| πΎ Cortex Stick | Sneakernet for AI memory. A USB stick couriers memories, trajectories and facts between two desks β no cloud, no VPN, no account. Optional AES-256; the key never lives on the stick. |
| πͺͺ Developer's Passport | Safe behavioral-claim ingestion layer. Review queue + 32 detectors + provenance buckets. Dev-targeted beta. |
| π Memory Ledger | Tamper-evident chain over what the store was told. Every save seals the memory's words; verify names any record that changed, went missing, or arrived unsealed. Local evidence, zero dependencies. |
| π© Structured Facts | Key-value store with confidence tracking. When semantic search is the wrong tool β names, settings, entity attributes β facts give you sub-millisecond exact lookup with a three-state confidence ladder. |
[!NOTE] Upgraded by Claude Fable 5. Mnemo's v4.1 "Fable pass" β composite recall ranking (the fix that pulled real signal back to the top of every search), the Analyst (distills raw session logs into clean Tier-1 notes), secret redaction at ingest, and tier hygiene β was designed and built during Claude Fable 5's brief availability. Fable reasoned and reviewed the whole codebase; an Opus model reviewed, hardened, and shipped each change. A frontier model auditing and improving the memory layer it runs on, in one window.
π Get Started
β Claude Code β 60-second install β Give CC Fluid Memory with Deep Recall
π₯οΈ Claude Desktop β one-click .mcpb bundle β Drag-and-drop install. No clone, no Node, no JSON editing. Works on Windows, macOS, and Linux.
π¦ OpenClaw β MCP integration β Give Your ClawdBot a Brain. One Config Line.
ποΈ LM Studio β native MCP, GUI β mcp.json + restart. Works with any tool-capable open-weights model.
π¦ AnythingLLM β desktop GUI, multi-workspace β Drop-in MCP config + Automatic mode. No @agent prefix needed.
π€ Agent Zero β autonomous Docker agents β In-container MCP setup. Cross-agent memory between research, courier, code-exec bots.
πͺ½ Hermes Agent β hermes mcp add integration β First-class MCP for Nous Research's Hermes Agent (v0.12.0+). Config-only, no patching. Cross-agent memory between Hermes and your other bots.
𦣠Ollama Desktop β terminal ollama launch openclaw β Ollama as the local LLM, OpenClaw as the MCP host. Note: Ollama Desktop's own chat window doesn't support MCP β use the terminal launcher.
π¬ ChatGPT β Custom GPT Actions gate β Give a Custom GPT memory you own. Two REST actions through a hardened, tenant-pinned gate β your Mnemo server stays private. β οΈ Check the OpenAI plan disclaimer first.
π¦ Any Local LLM β MCP setup β Open WebUI, llama.cpp, Ollama, LobeChat, Jan, and more
π§ How should my agent use it? β Session Guide β Workflow patterns, per-platform boot snippets, common mistakes
β Supported clients
Supported: Claude Code, Claude Desktop, OpenAI Codex CLI, and any local MCP client that speaks stdio transport β LM Studio, AnythingLLM, OpenClaw, Agent Zero, Hermes, Open WebUI, llama.cpp, LobeChat, Jan, and friends (see the integration links above).
ChatGPT: supported via a gate, not MCP. ChatGPT has no local/stdio MCP β its connectors call out from OpenAI's cloud, which would force a memory server onto a publicly exposed HTTPS endpoint. Rather than expose the server, the ChatGPT integration ships a hardened two-route gate (bearer-authenticated, pinned to a single memory tenant, rate-limited, body-capped, audit-logged) that a Custom GPT calls via Actions. The Mnemo server and its API key never face the internet. Note OpenAI's tier rules: Custom GPT Actions need Plus or higher; full custom MCP save+recall in the main ChatGPT app needs Business/Enterprise (on Plus, custom MCP connectors are read-only).
π How to Use Mnemo Effectively
Read THE-LANE-PROTOCOL.md β the operating practice for running agents with persistent memory. Feed it to your agent or follow it yourself. It takes 5 minutes per session and makes every cold start feel warm.
The protocol pairs with this product the way a recipe pairs with ingredients: Mnemo gives you the memory store, the Lane Protocol gives you the loop that makes it pay off. Distilled from real multi-agent sessions β terminal agents, chat agents, and autonomous workers running the same six-step ritual.
π§ Smart Ingestion β Real Memories vs. Raw Logs (v4.0)
Most agent memory rots the same way: a regex tagger can't categorize a save, defaults it to unknown, and within weeks 30β75% of the store is uncategorized. Real memories β decisions, doctrines, infrastructure facts, relationships β end up in the same bucket as raw conversation logs, and the logs (by sheer volume) crowd them out of every recall. In one audit, only 0.75 of the top-5 recalled results were useful.
Mnemo v4 sorts memory into two tiers at save time:
- Tier 1 β Smart Notes: the distilled facts, classified by your reasoning model into one of eight categories (topology, current_state, doctrine, incident, identity, relationship, decision). Clean, categorized, recalled first.
- Tier 2 β Session Logs: the raw conversation/tool-call archive. Kept in full, tagged
session_log, and excluded from default recall β it's there when you drill in for specifics, not competing for the top slots.
A cheap pre-filter routes routine logs to Tier 2 for free (no LLM call); everything else gets one short classification call. Default recall returns Tier 1; pass exclude_categories=[] to search both tiers. If the model is down, it falls back to the regex tagger and flags the memory for an overnight retry β so a save is never blocked on the classifier.
Already have a polluted store? Reclassify it in one command β it rewrites only the category tags, never your embeddings:
mnemo-cortex migrate reclassify --all --dry-run # preview the beforeβafter spread
mnemo-cortex migrate reclassify --all # snapshot, then reclassify every store
π On the Roadmap β The Thesaurus Loop (Query Expansion)
Every recall commits to one phrasing. If a memory was stored under different words than you searched for, the match is weak or misses entirely β call it assumption misalignment between how you ask and how it was filed. The Thesaurus Loop fixes it: when a search comes back empty or weak, Mnemo fans the query into a handful of alternative phrasings, searches them all, and lets the best match win (multi-query retrieval / RAG-Fusion).
The design choice that makes it safe is escalation β the loop only fires on a miss. Good searches run exactly as fast as they do today; the expansion pass costs nothing until a search actually whiffs, which is precisely when it's worth paying for. In development β escalation model designed, build in progress.
π€ The Lexical Lane β Exact Identifiers, Found by Their Words
An embedding knows what a memory is about. It does not know that GHSA-8cw4-87c7-c6xx, ECONNREFUSED 127.0.0.1:50001 or commit 4b1d9e2 is the one string that picks the answer out of thirty memories on the same topic. Since v4.21 every recall also runs a BM25 keyword search (SQLite FTS5, inside the same per-agent index) over the same text the vectors were built from. A memory the vectors missed joins the candidate pool scored on the same cosine scale as everything else, and a small lexical term in the ranker lets exact words re-order the on-topic band β meaning plus words, never words alone. On a 75-memory world of identifiers with look-alike decoys, vectors alone put the right memory first 8 times in 11; with the lane, 11 in 11. Off switch: ranking.lexical_enabled: false.
By sound, when the spelling is unseen (v4.22). A misspelled proper name matches no word at all β "Elenore" when the memory says "Eleanor", "Fershow" for "Fershaw". Each memory therefore also stores the consonant-skeleton keys of its name-shaped (capitalised) words in a second column of the same index β a name search, not a sound-alike lane for every word (v4.22.2) β and a query word of four or more letters that no memory contains adds its key to the match. A correctly spelled name never picks up its sound-alikes, an identifier never takes part, and the key is built from zero (Soundex folds too much: "guy"/"gay"). Off switch: ranking.phonetic_enabled: false.
π Authority Tiers β Who May Change a Fact (v4.23)
A memory store's most dangerous sentence is a confident wrong one. An agent said "Tailscale is the only path to that machine"; ambient capture filed it as topology; recall ranks by meaning, freshness, category and use β never by who said it β so the newest sentence beat the verified truth. Categorisation was right, dreaming was innocent, and the vector store simply had no notion of authority.
Facts now carry a tier that says who may change the slot, not what it is about. probe answers to a machine: only probe:/tool: evidence writes it, and it carries the command that re-asks it (a probe fact you cannot re-ask is a declared fact wearing a lab coat). declared answers to the user's word (statement:guyβ¦): conventions and policy no probe can read. open is everything else β the confidence ladder stays the only rule, and every existing row is open, so nothing changes until a slot is locked. Locking is itself a declared act.
A write that does not match a locked slot's tier is not an error and not the value: it is recorded as a proposal (/facts/proposals), listed in the nightly brief, and resolved only by the user's word. A demote is a write too β on a locked slot it needs the slot's own evidence or it becomes a proposal to demote. Honest scope in 4.23: the tier is an audit trail plus honor system. The user's word is a statement:guy evidence prefix and an accept call that any agent holding the server token can make; every such act is logged with who and what, and the agent tools say "relay the user's actual ruling, cite it", but nothing yet stops an agent from typing it. Enforcement β a door only the user can open, such as accept/lock from the command line on the host, or a user-only token β is the next step. The dreamer's dream: extractions and a seed file's file: rows become proposals automatically β the nightly-reseed clobber class is closed for free. On the read side, a locked fact about an entity the prompt names is served first, as a [FACT:<tier>] chunk ahead of every soft memory (at most half the window, like exact identifiers). Soft memories are not reclassified or filtered; the hard fact simply speaks before them. And a wrong memory finally has a real exit: POST /memories/demote (bridge mnemo_memory_demote) removes it from recall and keeps its JSON and ledger entry as history.
π Dreaming Mnemo β Cross-Agent Overnight Synthesis
Every agent accumulates raw conversation memory. Dreaming runs a nightly map-reduce pass: each agent's recent memories are compacted into themes, then a cross-agent merge produces shared context so every agent wakes up knowing what the others did. After a May 16 rehab, the pipeline uses disciplined chunking and token budgets that keep Ollama compaction costs predictable β no more runaway synthesis jobs. The result is reliable overnight context sharing that actually runs every night.
This is the only AI memory system that does cross-agent synthesis. Mem0, Zep, and Letta store memory per agent. Mnemo dreams across all of them.
π© Structured Facts β When Search Is the Wrong Tool
Semantic recall is great until your agent needs to remember a visitor's name. Peter Widget asked "what's my name?" and got a paragraph about naming conventions. That's a key-value lookup, not a search problem.
Facts store (entity, attribute, value) triples in a local SQLite table with a three-state confidence ladder: verified β high_probability β false. New evidence promotes or demotes automatically. When a fact contradicts an existing one, Mnemo fires a notification over the bus and Discord webhook so the owning agent can adjudicate.
Four MCP tools ship with it: mnemo_fact_save to assert, mnemo_fact_get for single lookup, mnemo_fact_query for filtered lists, mnemo_fact_demote to mark something wrong without supplying a replacement. Reads are sub-millisecond. The confidence ladder means your agent's knowledge sharpens over time instead of accumulating stale guesses.
Seeding canonical truth β tools/seed-facts.py loads a hand-curated YAML of your known truths as verified facts, so stale fuzzy recall can never outrank them (start from tools/seed-facts.example.yaml; nightly and post-commit runners included).
β οΈ Read the warning in the example file before you schedule it. A seed file is a photograph of the truth, and a scheduled seeder re-asserts that photograph forever. Stop updating it and it becomes an anti-memory β every correction your team makes gets silently clobbered back to the stale value on the next run. The rule that keeps you safe: when you fix a fact, fix the seed file in the same commit. We shipped this feature, then broke this rule ourselves for two months; the warning is written in our own scar tissue.
Deploy Your Way
- Shared β One Mnemo for all agents. Cross-agent search and dreaming. Full team awareness.
- Isolated β Separate Mnemo per agent or per customer. Zero bleed between tenants.
- Hybrid β Shared for internal agents + isolated for customer-facing bots. This is what we run.
Cloud memory services make you choose one shared store. Mnemo lets you architect for your actual privacy and separation needs.
π The Librarian β Document Discovery
"The file about X" is a memory problem too. The Librarian is a single SQLite FTS5 index over the whole workspace β filenames, paths, and the first chunk of content (with PDF/DOCX text extraction) β so an agent can turn a fuzzy description into a real path in milliseconds. Our deployment covers ~107K files; a full rebuild takes ~17 seconds, the nightly incremental refresh ~2. Secrets (keys, .env files, credentials) are excluded from the index entirely.
The indexer ships in this repo: librarian.py β a single stdlib-only file. python3 librarian.py index builds the index at ~/.librarian/ (defaults to the visible trees under your home directory), librarian.py find "the spec about X" queries it from the shell, and an optional ~/.librarian/config.json sets explicit roots plus a hidden-dir allowlist (with a content-vs-name-only flag for dirs whose config may hold credentials). Cron index nightly and it stays fresh.
In our deployment, agents query it through a small file_find MCP tool in FrankenClaw, our tool chassis (withdrawn from public distribution) β but the pattern is trivially reproducible: a read-only MCP tool that opens the index librarian.py maintains, registered as a second mcpServers entry alongside the Mnemo bridge.
The Librarian replaced WikAI, our earlier auto-compiled wiki layer. The lesson from running WikAI in production: compiling knowledge into pages is expensive to keep fresh, while indexing everything and finding it on demand is cheap and never stale. The static wiki pages still exist and remain searchable through the bridge's wiki_search / wiki_read / wiki_index tools, but they're no longer recompiled nightly β mnemo-wiki-compile.py stays in the repo for reference. See Inspirations below.
πΎ Cortex Stick β Sneakernet for AI Memory
You work from two desks and both machines run Mnemo, so they drift: the decision you saved at one desk doesn't exist at the other. The usual fixes put your AI's working memory on somebody else's wire, or need infrastructure you don't want to run.
The Cortex Stick is a USB courier between two full Mnemo installations β not a portable server. Nothing runs on the stick; it carries the delta. Memories, trajectories, facts, optionally your brain repo, and a free-form pad/ for dragging in-flight work between desks. Plug in, sync, carry, plug in. No cloud, no VPN, no account.
mnemo-cortex stick init --encrypt /media/you/USB # or plain, your call
mnemo-cortex stick sync # at each desk
mnemo-cortex stick watch --notify # or never touch a terminal
Encryption is optional AES-256 and the key never lives on the stick, so a lost stick is a lost stick rather than a breach. Every sync plans the whole run before a byte moves β a refusal changes nothing β and the manifest is written last, so a yanked stick refuses loudly instead of merging from a torn state. Conflicts are preserved, never destroyed. Full guide: docs/cortex-stick.md.
Mnemo Cortex MCP questions
What does Mnemo Cortex do for an AI agent?
It gives agents persistent, local, cross-agent memory that captures what happened and recalls what matters across sessions. It runs on your own machine with no cloud required.
How does Mnemo Cortex separate real memories from raw conversation logs?
At save time it sorts memories into two tiers: distilled Smart Notes classified into eight categories, and raw Session Logs that are excluded from default recall.
Can I use Mnemo Cortex with ChatGPT?
ChatGPT does not support local stdio MCP, so Mnemo ships a hardened two-route gate that a Custom GPT calls via Actions while the memory server stays private.
Which MCP clients work with Mnemo Cortex?
Claude Code, Claude Desktop, and any local MCP client speaking stdio transport, including LM Studio, AnythingLLM, OpenClaw, Agent Zero, and Hermes.
Does Mnemo Cortex send data to the cloud?
No. It runs locally with no telemetry and no cloud dependency.