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

Longterm Memory

by MarcelRoozekransversion 1.6.1i★ –iRuns on your computer
Registry nameio.github.MarcelRoozekrans/longterm-memory

Install

Overview

Description from the maker (original English)

A fully local MCP server for long-term memory with semantic search

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

  • npmNode.js installed (for the npx 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": {
    "longterm-memory": {
      "command": "npx",
      "args": [
        "-y",
        "longterm-memory-mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add longterm-memory -- npx -y longterm-memory-mcp

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "longterm-memory": {
      "command": "npx",
      "args": [
        "-y",
        "longterm-memory-mcp"
      ]
    }
  }
}

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": {
    "longterm-memory": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "longterm-memory-mcp"
      ]
    }
  }
}

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 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account MarcelRoozekrans, 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 7246 servers in this category
  • Published to the registry more recently than 84% of the other 7246 servers in this category
  • Basic checks equal to or better than 100% of the other 7246 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 Longterm Memory 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 (1.6.1) reached the registry 6 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js 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.

LongtermMemory-MCP

A fully local MCP server that gives AI agents persistent, semantic long-term memory — without any cloud dependencies.

Inspired by mcp-mem0, but runs 100% on your machine:

Featuremcp-mem0This project
StoragePostgreSQL / SupabaseSQLite (Node's built-in node:sqlite)
EmbeddingsOpenAI APILocal transformer (all-MiniLM-L6-v2)
Vector searchCloud vector DBIn-process cosine similarity
LLM dependencyOpenAI / OpenRouter / OllamaNone
SetupDatabase + API keys`npx longterm-memory-mcp`

Tools

Core
ToolDescription
save_memoryStore text with auto-generated semantic embedding, tags, importance, and type
search_memoryFind relevant memories using natural language queries (cosine similarity)
update_memoryModify an existing memory's content, metadata, tags, importance, or type
delete_memoryRemove a specific memory by ID
delete_all_memoriesWipe all memories (irreversible)
get_all_memoriesList all stored memories (paginated)
memory_statsGet count and database location
Search
ToolDescription
search_by_typeFilter memories by category (general, fact, preference, conversation, task, ephemeral)
search_by_tagsFind memories matching any of the provided tags
search_by_date_rangeFind memories created within a specific date range (ISO format)
Maintenance
ToolDescription
create_backupManually trigger a database backup with JSON export

Quick Start

Claude Code Plugin (recommended)

Install via the Claude Code marketplace — this sets up both the MCP server and a companion skill that teaches Claude how to use memory effectively:

/plugin marketplace add MarcelRoozekrans/LongtermMemory-MCP

/plugin install longterm-memory@longterm-memory-marketplace

This automatically:

  • Configures the MCP server (no manual JSON editing), pinned to the plugin's version: a plugin update also updates the server
  • Adds the automatic recall hook
  • Installs the long-term-memory skill (Claude learns to recall context at session start, save insights after tasks, and deduplicate memories)
Use with npx (no install needed)
npx longterm-memory-mcp

npx keeps running the version it cached first and does not look for updates. To move to a new release, name the version, as in npx -y longterm-memory-mcp@1.6.0, or use @latest, which checks the registry on every start.

Or install globally
npm install -g longterm-memory-mcp

longterm-memory-mcp

Or from source
git clone https://github.com/MarcelRoozekrans/LongtermMemory-MCP.git

cd LongtermMemory-MCP npm install && npm run build npm start

Configuration

Claude Code

If you installed via the plugin marketplace, the MCP server is already configured. For manual setup, add to your MCP settings (~/.claude/settings.json or project .claude/settings.json):

{

"mcpServers": { "longterm-memory": { "command": "npx", "args": ["-y", "longterm-memory-mcp"] } } }

Claude Desktop

Add to claude_desktop_config.json:

{

"mcpServers": { "longterm-memory": { "command": "npx", "args": ["-y", "longterm-memory-mcp"] } } }

Agent Instructions

The repo includes agent instructions that teach AI agents how to use memory effectively (automatic recall, save patterns, deduplication):

FilePurpose
skills/long-term-memory/SKILL.mdSelf-contained skill — auto-loaded by Claude Code plugin, can be referenced from any MCP client

Database Location

By default, memories are stored in a shared, user-scoped location:

~/.longterm-memory-mcp/memories.db

This means every project and every MCP client shares the same memory pool — you save a memory in one project and it's available everywhere.

Several sessions can use the same database at once. Each server process reads and writes the shared file directly (SQLite in WAL mode), so a memory saved in one session is visible to every other session right away, and no session overwrites what another saved. Requires Node.js 22.13 or later.

Databases from older releases open unchanged. A database from v1.0–1.3, which has no schema_meta table, is migrated in place with all its memories kept; a copy named memories.db.pre-migration- .bak is written next to it first.

Upgrading from 1.4 or earlier: stop every running session that uses the old version before starting one with the new version. Older releases keep the whole database in memory and rewrite the file on each save, so an old process left running would overwrite what new sessions saved.

Per-project database

To isolate memories for a specific project, set the MEMORY_DB_PATH environment variable:

{

"mcpServers": { "longterm-memory": { "command": "npx", "args": ["-y", "longterm-memory-mcp"], "env": { "MEMORY_DB_PATH": "/path/to/project/memories.db" } } } }

Memory Types

Each memory has a memory_type that determines how it's categorized and how quickly it decays:

TypeDescriptionDecay half-life
generalDefault catch-all60 days
factVerified information120 days
preferenceUser/project preferences90 days
conversationConversation context45 days
taskTask-related notes30 days
ephemeralShort-lived context10 days

Tags & Importance

  • Tags: Categorize memories with string tags (e.g. ["auth", "backend"]). Search with search_by_tags.
  • Importance (1–10): Controls how resistant a memory is to decay. Default is 5. Higher importance decays more slowly.
  • Protected tags: Memories tagged with core, identity, or pinned skip decay entirely.

Decay & Reinforcement

Memories decay over time to keep the store relevant:

  • Decay: Each memory type has a half-life (see table above). Importance decreases exponentially based on time since last access, with a floor that prevents full deletion.
  • Reinforcement: Every time a memory is accessed via search, its importance increases by +0.1 (up to a max of 10). Frequently accessed memories stay important.
  • Lazy evaluation: Decay is calculated on access, not on a timer — no background processes needed.

Content Deduplication

Memory content is hashed (SHA-256) on save. If identical content already exists, the save is rejected with a reference to the existing memory ID. This prevents duplicate entries automatically.

Content Guard

Memories end up in the database and in its JSON backups, so content is filtered before it is stored:

  • ` ` spans are removed. Text inside … is never stored, embedded or hashed. An unclosed removes everything after it. Content that is empty once the spans are removed is rejected.
  • Secrets are rejected. save_memory and update_memory refuse content, metadata values and tags that look like a secret. The error names the pattern that matched and never the value.
PatternMatches
private-keyPEM / OpenSSH / PGP private key headers (certificates are allowed)
github-tokenghp_, gho_, ghu_, ghs_, ghr_ and github_pat_ tokens
api-keysk-… style API keys
aws-access-keyAKIA… / ASIA… access key ids
jwtJSON Web Tokens
slack-tokenxoxb-, xoxp- and similar Slack tokens
secret-assignmentrandom-looking values after password=, token:, secret=, api_key=, KEY= and similar. References ($VAR, ${{ … }}), placeholders (<…>), calls and plain words are allowed

Configure it with environment variables:

{

"mcpServers": { "longterm-memory": { "command": "npx", "args": ["longterm-memory-mcp"], "env": { "MEMORY_GUARD_DISABLE": "jwt,slack-token", "MEMORY_GUARD_EXTRA_PATTERNS": "{\"internal-host\": \"\\\\b[a-z0-9-]+\\\\.corp\\\\.example\\\\b\"}" } } } }

  • MEMORY_GUARD_DISABLE: a comma-separated list of pattern names to turn off, or all for every built-in pattern. spans are removed either way. An unknown name stops the server at startup.
  • MEMORY_GUARD_EXTRA_PATTERNS: a JSON object of extra patterns to reject, as name → regular expression.

The guard applies to new saves and updates only. Memories stored before it existed are not rescanned.

Automatic Recall

The Claude Code plugin ships a UserPromptSubmit hook that recalls memories without the agent having to ask. On the first prompt of each session it searches with the prompt text and adds the best matches to the context as a short list:

Long-term memories that may be relevant (longterm-memory; search_memory gives the full text):
  • [2026-10-22 fact] pkill -f also matches the agent's own shell … (id 31ece450-…)
  • Once per session: the hook keeps a marker file per session id in recall-sessions/ next to the database. Later prompts in that session cost one node start, about 30 ms, and no search.
  • Project: the hook takes the project name from the session's working directory. A memory that names the project in its content, tags or metadata ranks a little higher. The name is not part of the search text: a short prompt would then match on the project name alone.
  • Cheap when it misses: nothing is injected when no memory reaches the threshold, and the block never exceeds the token cap.
  • Content guard: a stored memory that the guard rejects, such as one saved before the guard existed, is never injected.
  • Never blocks a prompt: errors go to stderr and the prompt continues.
  • Pinned version: the hook runs npx longterm-memory-mcp@ recall --hook, so a cached older copy is never used. The plugin's MCP server is pinned the same way.

Configure it with environment variables in your Claude Code settings (env in ~/.claude/settings.json). The hook runs in Claude Code's environment, not the MCP server's, so a custom MEMORY_DB_PATH has to be set there too.

VariableDefaultMeaning
MEMORY_RECALL_ENABLEDtruefalse turns the hook off
MEMORY_RECALL_K5at most this many memories (1–50)
MEMORY_RECALL_THRESHOLD0.5minimum cosine similarity (-1 to 1)
MEMORY_RECALL_MAX_TOKENS400cap on the injected block, estimated at 4 characters per token
MEMORY_RECALL_STATE_DIR /recall-sessionswhere the once-per-session markers live; markers older than 30 days are removed
Recall CLI

The hook calls the recall subcommand, which also works on its own:

npx longterm-memory-mcp recall "how do we deploy the stack"

npx longterm-memory-mcp recall --k 3 --threshold 0.4 --project docker "deploy"

It prints the same list the hook injects, or No relevant memories found. on stderr. Options: --k, --threshold, --max-tokens and --project (default: the current directory's name, "" for none). It does not create a database that does not exist yet. With --hook it reads a Claude Code UserPromptSubmit event from stdin and answers with additionalContext.

Backups

Backups are managed automatically and can also be triggered manually via the create_backup tool.

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

Ask PopNx