原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Nan Forget

作者:NaNMesh版本 0.6.8i★ –i在你的电脑上运行
注册名称io.github.NaNMesh/nan-forget

安装

概览

作者提供的说明(英文原文)

AI that remembers. Local-first cross-session, cross-project long-term memory for coding tools.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 搜索与 AI 记忆
  • 你需要填写:OPENAI_API_KEY

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: OPENAI_API_KEY, NAN_FORGET_EMBEDDING_PROVIDER, NAN_FORGET_USER_ID, NAN_FORGET_PROJECT_ROOT

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "nan-forget": {
      "command": "npx",
      "args": [
        "-y",
        "nan-forget"
      ],
      "env": {
        "OPENAI_API_KEY": "your-value",
        "NAN_FORGET_EMBEDDING_PROVIDER": "your-value",
        "NAN_FORGET_USER_ID": "your-value",
        "NAN_FORGET_PROJECT_ROOT": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add nan-forget --env OPENAI_API_KEY=your-value --env NAN_FORGET_EMBEDDING_PROVIDER=your-value --env NAN_FORGET_USER_ID=your-value --env NAN_FORGET_PROJECT_ROOT=your-value -- npx -y nan-forget

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "nan-forget": {
      "command": "npx",
      "args": [
        "-y",
        "nan-forget"
      ],
      "env": {
        "OPENAI_API_KEY": "your-value",
        "NAN_FORGET_EMBEDDING_PROVIDER": "your-value",
        "NAN_FORGET_USER_ID": "your-value",
        "NAN_FORGET_PROJECT_ROOT": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "nan-forget": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "nan-forget"
      ],
      "env": {
        "OPENAI_API_KEY": "your-value",
        "NAN_FORGET_EMBEDDING_PROVIDER": "your-value",
        "NAN_FORGET_USER_ID": "your-value",
        "NAN_FORGET_PROJECT_ROOT": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • OPENAI_API_KEY 机密 env
    OpenAI API key for embeddings. If not set, falls back to local Ollama.
  • NAN_FORGET_EMBEDDING_PROVIDER env
    Embedding provider: openai or ollama
  • NAN_FORGET_USER_ID env
    User identifier for multi-user setups
  • NAN_FORGET_PROJECT_ROOT env
    Project root used for local memory file sync and cleanup

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 NaNMesh 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 7284 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 7284 个服务器的 8% 更新
  • 基础检查结果等于或优于此分类中其他 7284 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Nan Forget 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:OPENAI_API_KEY

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.6.8)于7个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

作者:upstash

Up-to-date docs for AI agents

电脑或云端★ 64,224MIT昨天更新
安装

Codebase Memory

作者:DeusData

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

在你的电脑上运行★ 48,148MIT21天前更新
安装

Exa

作者:exa-labs

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

在云端运行★ 5,213MIT上个月更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

NaN Forget

Long-term memory for AI coding tools.

Your AI forgets everything when the session ends. NaN Forget fixes that.


Install (3 steps)

npx nan-forget setup

That's it. The wizard installs Ollama, embeddings, Claude hooks, MCP config, and a project AGENTS.md for Codex-style agents. Restart Claude Code or reopen Codex. Your AI now remembers.

No API keys needed. No Docker needed. Runs locally. Free forever.


How It Works

flowchart LR

A["You talk to your AI tool"] --> B["It learns things"] B --> C["nan-forget saves to SQLite"] C --> D["Session ends"] D --> E["New session starts"] E --> F["nan-forget loads context"] F --> G["Your AI remembers"]

  1. You work normally. Your agent saves decisions, preferences, and facts to a local SQLite memory database as you go.
  2. Session ends. Memories persist in ~/.nan-forget/memories.db. Aging memories get automatically compacted into long-term entries.
  3. New session starts. nan-forget loads context from past sessions. Auth decisions from 3 months ago on Project A surface when you work on Project B today.

Automatic Memory Handling

You never call save or search manually. Here's what happens behind the scenes:

Claude Code (fully automatic)
EventWhat firesWhat happens
Session startsmemory_syncLightweight handshake — checks health, loads stats, lists projects. No heavy search.
You send a messageUserPromptSubmit hooknan-forget recall auto-searches memory for relevant context and injects it into the conversation.
You discuss a topicmemory_searchClaude searches the DB dynamically whenever relevant context might exist — like how you recall things on-demand.
Claude learns somethingmemory_saveClaude saves decisions, preferences, and facts immediately. Tool descriptions tell Claude "you MUST call this."
Claude writes a .md filePostToolUse hookmemory-sync.js intercepts the write, parses frontmatter, and auto-saves it to SQLite via nan-forget add.
Session endsSessionEnd hooksession-end.js scans the conversation transcript for unsaved decisions/facts and saves the top 5 to the DB.
Every 10 saves or 24hAuto-consolidateAging memories get clustered and compacted into long-term entries. Originals are archived.

Four layers of protection ensure nothing is lost:

  1. Auto-recall on every message (UserPromptSubmit hook)
  2. Claude saves proactively (directive tool descriptions)
  3. Hook catches .md writes (PostToolUse intercept)
  4. End-of-session sweep (SessionEnd transcript scan)
Codex, Cursor, and other tools

Codex and similar agents work well with nan-forget, but they usually need instruction files or shell/API fallbacks instead of Claude's hook model:

  1. Run setup: npx nan-forget setup
  2. Use the generated `AGENTS.md` in your repo. It tells Codex-style agents to sync, search, save, and checkpoint automatically.
  3. Use REST or CLI fallback during conversation. Agents can call the REST API on localhost:3456 or local commands like nan-forget sync, nan-forget search, nan-forget add, and nan-forget checkpoint.

The REST API and CLI now mirror the important memory workflows closely enough that memories saved by Claude are searchable from Codex and vice versa.

# Start the REST API

nan-forget api

The system prompt tells your agent exactly what endpoints to call

nan-forget prompt


Slash Commands

Type these in Claude Code:

CommandWhat it does
/nan-forgetLoad context from past sessions
/nan-forget statsShow memory health
/nan-forget cleanRun garbage collection
/nan-forget compactForce memory consolidation
/nan-forget healthCheck if services are running
/nan-forget startStart all services

Works with Any LLM

Claude uses MCP. Codex can use AGENTS.md plus CLI/REST fallback:

# Start the API

nan-forget api

Get the system prompt for your agent

nan-forget prompt

Codex, Cursor, and Claude all share the same memory database.

curl http://localhost:3456/memories/search?q=auth

curl -X POST http://localhost:3456/memories/sync -d '{"project":"my-app"}' curl -X POST http://localhost:3456/memories/checkpoint \ -H 'content-type: application/json' \ -d '{"task_summary":"Fixed auth regression","problem":"Expired tokens were not refreshed","solution":"Added refresh handling in middleware","files":["src/auth.ts"],"concepts":["auth","jwt"],"project":"my-app"}'


Quick Start (CLI)

nan-forget add "We use FastAPI, not Django. Railway deploys faster."

nan-forget add --type decision "Auth is Clerk, not custom JWT" nan-forget search "what auth system" nan-forget stats


Architecture (Expert Section)

Everything below is for developers who want to understand how nan-forget works under the hood.


The Problem

LLMs have no memory between sessions. Every conversation starts from zero. You re-explain your stack, Claude contradicts decisions from last month, and context disappears when the session ends.

Existing solutions (Mem0) target app developers embedding memory into products. We target you — the developer using AI tools daily who wants AI that just remembers.

Design: Brain-Inspired Two-Layer Memory

flowchart TB

subgraph Short["Short-Term Memory"] MD[".md files Current session context Disposable scratch paper"] end subgraph Long["Long-Term Memory"] DB["SQLite + sqlite-vec ~/.nan-forget/memories.db Semantic search + decay"] end subgraph Auto["Automatic Processes"] Hook["Hooks (3) PostToolUse: .md → DB UserPromptSubmit: auto-recall SessionEnd: transcript sweep"] Consolidate["Consolidation Engine Clusters + summarizes aging memories"] GC["Garbage Collection Decay, dedup, expiry"] end MD -->|"hook intercepts"| Hook Hook -->|"nan-forget add"| DB DB --> Consolidate Consolidate --> DB DB --> GC

Short-term memory = Claude's built-in .md files. Disposable. Current session only.

Long-term memory = SQLite database with sqlite-vec vector search. Single file. Permanent. Searchable across all sessions, all projects, all LLM tools.

Three hooks handle memory automatically:

  • PostToolUse intercepts .md file writes and saves them to the DB.
  • UserPromptSubmit runs nan-forget recall on every user message, auto-searching memory for relevant context.
  • SessionEnd scans the conversation transcript for unsaved decisions and saves the top 5.

Three-Stage Retrieval Pipeline

Memory search follows the same path as human recall:

flowchart LR

Q["Query"] --> S1["Stage 1: Recognition Fast vector match Returns summaries only"] S1 --> S2["Stage 2: Recall Full content fetch Cross-project expansion"] S2 --> S3["Stage 3: Association Spreading activation Related memories surface"] S3 --> R["Results ranked by similarity x decay x frequency x confidence"]

StageWhat happensCost
Recognition (blur)Prefetch 50 candidates, return top 5 summaries. Cheap.1 vector search
Recall (clarity)Fetch full content. Expand search cross-project (no project filter).N point lookups
AssociationCentroid-based related-memory search over sqlite-vec. Spreading activation from positive IDs.1 vector search

Scoring formula:

final_score = vector_similarity * decay_weight * frequency_boost * confidence_boost

decay_weight = (0.5 ^ (days / 30)) ^ (1 - confidence) frequency_boost = log2(access_count + 1) / 10 + 1 confidence_boost = 0.5 + 0.5 * confidence

High-confidence memories (debate-validated, human-approved) decay much slower and rank higher. A core memory at 0.85 confidence decays at ~15% of normal rate — effectively permanent unless superseded. Cross-project search means auth decisions from Project A surface when you work on Project B.

Consolidation Engine

Aging memories don't just get deleted — they get compacted into long-term entries:

flowchart TB

A["10+ aging memories about the same topic"] --> B["Cluster by project + type

  • vector similarity > 0.8"] B --> C{"OpenAI key

available?"} C -->|"Yes"| D["LLM summarizes cluster into 1-2 sentences"] C -->|"No"| E["Deterministic merge concatenate + deduplicate"] D --> F["Save consolidated entry with fresh vector embedding"] E --> F F --> G["Archive originals with backlink"]

Triggers automatically after every 10 saves or 24 hours. No user action needed.

13 MCP Tools

ToolPurpose
memory_syncLightweight session handshake: health check + stats + project list
memory_saveSave a memory (auto-called by Claude, proactively)
memory_searchSemantic search with 3-stage retrieval (depth 1-3)
memory_getFetch a specific memory by ID
memory_updateChange content, type, or tags
memory_archiveSoft-delete (hidden from search, never truly deleted)
memory_consolidateForce consolidation of aging memories
memory_cleanGarbage collection (decay, dedup, expiry, MEMORY.md sync)
memory_statsMemory health dashboard
memory_healthCheck if Ollama, REST API are running
memory_startBoot Ollama + REST API
memory_checkpointSave full problem→solution context after completing a task
memory_compressCompress persisted .md memory files to minimal stubs

Structured Memories

memory_save accepts structured fields for richer vector representation:

FieldTypePurpose
contentstringFull description (required)
typestringfact, decision, preference, task, context
projectstringProject name
problemstringWhat was the challenge
solutionstringHow it was solved
conceptsstring[]Searchable tags (["auth", "jwt", "middleware"])
filesstring[]Files involved (["src/auth.ts"])
confidencenumberTrust level 0.0–1.0 (default based on provenance)
provenancestringsave, checkpoint, debate, human
tierstringregular or core (auto-derived from provenance)

All fields are embedded together into a single vector. Searches for "JWT auth bug" find memories tagged with those concepts even if the content text doesn't match literally.

Memory Tiers

Not all memories are equal. Debate-validated and human-approved memories are core — they decay slower, rank higher in search, and survive garbage collection longer.

ProvenanceDefault ConfidenceAuto TierDecay Rate
save0.5regularNormal (30-day half-life)
checkpoint0.65regular~35% slower
debate0.85core~85% slower
human0.95core~95% slower

Core memories are designed for the upcoming nan-debate system — multi-AI debate results validated by human approval get persisted as high-trust knowledge that almost never fades.

Checkpoint Workflow

After completing a task, call memory_checkpoint with task_summary, problem, solution, files, concepts, and project. Saves the full problem→solution context to long-term memory. Every completed task = one checkpoint.

Memory Compression

memory_compress scans .claude/projects/*/memory/ for .md files already persisted to the DB. Persisted files are replaced with minimal stubs. Reduces context window bloat.

REST API (for non-MCP LLMs)

Shares the same SQLite database as the MCP server — memories saved by Claude are searchab

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx