プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のための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の3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶
  • 入力が必要なもの:OPENAI_API_KEY

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: OPENAI_API_KEY, NAN_FORGET_EMBEDDING_PROVIDER, NAN_FORGET_USER_ID, NAN_FORGET_PROJECT_ROOT

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.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

  • このカテゴリのほかの7271件のうち0%よりスターが多い
  • このカテゴリのほかの7271件のうち8%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7271件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Nan Forgetは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:OPENAI_API_KEY

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.6.8)がレジストリに届いたのは7 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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に聞く