Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

memo

by jagoffversion 4.16.0i★ –iRuns on your computer
Registry nameio.github.jagoff/memo

Install

Overview

Description from the maker (original English)

Memory for AI agents — MLX (Apple Silicon) or CPU (Linux), sqlite-vec + BM25, zero cloud.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "memo": {
      "command": "uvx",
      "args": [
        "mlx-memo"
      ]
    }
  }
}

Run this in your terminal

claude mcp add memo -- uvx mlx-memo

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "memo": {
      "command": "uvx",
      "args": [
        "mlx-memo"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "memo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mlx-memo"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account jagoff, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7256 servers in this category
  • Published to the registry more recently than 36% of the other 7256 servers in this category
  • Basic checks equal to or better than 100% of the other 7256 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is memo safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (4.16.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

memo

Your coding agent starts every session with amnesia. memo fixes that — 100% on your own machine.

Persistent, searchable memory for Claude Code, Codex, Cursor, Cline, Devin, and OpenCode. No cloud, no API keys, no Ollama, no vector DB to run. And it spends *fewer* tokens, not more.


Install

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.16.0/install.sh | bash

Prefer a package manager? uv tool install mlx-memo · pipx install mlx-memo · brew tap jagoff/memo && brew install mlx-memo

Then:

memo doctor                                   # self-check

memo save 'we use Postgres, not Mongo' # save a decision memo search 'what database did we pick?' # search by meaning

That's it. Your agents pick it up over MCP automatically — the installer wires every client it finds.

Installing on another Mac or handing setup to an agent?

New Mac:

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.16.0/install.sh | bash

memo sync bootstrap git@github.com:yourname/memo-sync.git

Agent-managed setup:

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.16.0/install.sh | bash

memo doctor --strict-runtime

On Linux or just want to look around first?

docker run --rm ghcr.io/jagoff/memo:latest memo doctor

Why this saves you money

Most memory servers *add* context. memo is built to remove it.

ProfileToolsSchema tokens
agent (default)43~9.7k
core / slim60~13.2k
full / default165~30.6k

The default MCP surface is 43 tools, not 165 — 74% fewer tools, and about 68% less schema context: 43 tools / ~9.7k schema tokens versus 165 tools / ~30.6k tokens on the full surface — overhead paid every session, in every client.

Ambient recall injects one relevant memory before the model answers. The bundled Claude Code hook caps that injection at ~160 tokens. memo roi reports the real grounding and re-ask counts — the estimated-savings figure it used to print was removed in 4.14.0, because multiplying those counts by hardcoded constants was a savings claim memo could not support. For measured savings, memo tokens reads the provider's own usage counters through the context-compression proxy.

memo roi       # value from grounded recalls and avoided re-asks

memo tokens # usage-savings ledger


Three things nothing else does

🕰️ Time-machine — query your knowledge as it was
memo as-of ask "what was the deploy strategy?" --date 2026-02-01

memo diff --from 2026-01-01 --to 2026-03-01

Full historical reconstruction by reverse-replaying history.db. Useful when you need to know *why* past-you made a call, not just what past-you decided.

⚡ Contradiction radar — memory that notices when you change your mind
memo contradict scan      # find conflicting facts corpus-wide

memo contradict triage # resolve: fuse / newer-wins / dismiss

Change a decision and memo flags the now-stale version, so the agent stops reintroducing what you already threw out.

🔮 Dream — it optimizes itself while you sleep
memo dream run

A 7-phase nightly pipeline: inventory → mine signals → resolve conflicts → prune stale → synthesize cross-cluster insights → optimize → pre-warm the top-100 query embeddings so tomorrow's recall stays under 200 ms. Every run writes a receipt you can audit. Zero intervention.


How it works

Hybrid retrieval. A vector leg (MLX on Apple Silicon, sentence-transformers on CPU) and a BM25 leg (FTS5, diacritic-folding for Spanish) run in parallel, fuse via Reciprocal Rank Fusion, then go through an optional MLX cross-encoder rerank.

Markdown is the source of truth. Every memory is a plain .md file you can read, grep, and version-control. SQLite is a derived index that rebuilds from the files at any time — hand-edit in Obsidian and your edit wins on the next memo reindex. Nothing is locked in a database you can't open.

Prompts and memories stay on your machine. Embedder, reranker, and LLM all run in-process. No telemetry. Memory travels only if *you* point memo sync at a git remote you own. Normal startup is fully offline; remote update checks and auto-update require an explicit opt-in. → [Privacy and network policy](https://github.com/jagoff/memo/blob/master/PRIVACY.md)

Also in the box: cross-agent memo resume (reopen any session from any agent), cross-Mac git sync, a knowledge graph with optional codegraph symbol edges, encrypted secret storage, OCR/audio ingestion, evidence packs, outcome learning, signed federation, and a local chat UI over your memory (memo chat serve). → [Full feature reference](https://github.com/jagoff/memo/blob/master/docs/reference.md)


How it compares

Verified July 2026 against each project's own docs. Corrections welcome — open an issue and I'll fix the table.

memomem0lettacogneebasic-memorycipher
100% local, no cloud API✅⚠️⚠️⚠️✅⚠️
Time-machine (rewind to any date)✅❌⚠️❌⚠️⚠️
Contradiction detection + resolution✅⚠️⚠️❌❌❌
Autonomous nightly maintenance✅❌❌❌❌❌
Token-economy MCP profiles✅❌❌⚠️✅❌
Markdown / Obsidian as source of truth✅❌⚠️❌✅❌

✅ first-class · ⚠️ partial, config-gated, or add-on · ❌ absent

Closest comparators are basic-memory (local-first + Obsidian + MCP — same thesis) and cipher (memory for coding agents).


Requirements

Support
macOS, Apple Silicon (M1–M4)Full — MLX embedder + reranker + ask/synthesize/dream
Linux / UbuntuStandalone CPU backend — search, recall, save. pipx install "mlx-memo[cpu]" · docs/ubuntu.md
Intel MacUnsupported — current PyTorch releases do not ship Python 3.13 wheels for this platform
DockerCross-platform, CPU backend · docs/docker.md

Python ≥ 3.13 (the installer handles this via uv if you don't have it). First install pulls ~8 GB of models, 5–15 min. Optional: an Obsidian vault — without one, memo uses ~/Documents/memo/.


Docs

Install detail, installer knobs, new-Mac migrationreference.md › Install
Per-client MCP setup (Claude Desktop, Cursor, Cline, Continue)reference.md › MCP setup
Ambient recall, capture, and tuningreference.md › Ambient memory
Full CLI reference (145 commands) + memo tuireference.md › CLI
All MEMO_* flags and model profilesreference.md › Configuration
Architecture and design notesreference.md › Design
Privacy and network policyPRIVACY.md
All 145 top-level CLI commands

Complete command inventory (kept here so CI detects CLI/documentation drift)

Core: save search ask get edit rename delete list

Recall & Hooks: recall recall-hook context briefing continuity prewarm capture-tick capture-stop interject ask-gaps guard digest

Session & History: history as-of diff record-history session chat-session resume reflect mine-history episodes chronicle

Maintenance: reindex maintain review dream consolidate synthesize dedupe cross-dedup retier contradict coordinate terminal invalidate temporal compress-context ops

Analysis & Quality: health stats doctor journey-check lint drift analytics eval roi tokens token-savings usefulness gaps outcome profile confidence graduation hype definitive evidence

Knowledge Graph: graph entities entity extract-entities links version related

Advanced Search: embed rerank contextual retrieve context-pack chat chat-ask repo

Import / Export / Sync: import export backup restore sync ingest federation

Visualization: tui dashboard map logs hook-log

Setup & Config: init setup config install-mcp install-watcher uninstall-watcher install-slash install-statusline install-recall-hook install-shell-wrapper install-shims startup-banner migrate migrate-vault migrate-independence update upgrade self-update watch release onboard

Daemons: daemons recall-daemon ingest-daemon maint-daemon embed-daemon idle-daemon

Other: backend-native collaborative events feedback query mandate drift sleep-cycle operational ocr-image provenance secret verbatim mcp-command codex-badge debug-recall http-api proxy mine-git token-gate fix undo code-facts code-nudge code-health


Contributing

git clone https://github.com/jagoff/memo && cd memo

uv pip install -e '.[dev]'

Issues and PRs welcome — see CONTRIBUTING.md. If memo is useful to you, a ⭐ genuinely helps other people find it.

MIT licensed. Built on Apple MLX, sqlite-vec, and

Only the beginning is shown; read the rest in the repo

Ask PopNx