R
Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 7/28/2026, 10:45:29 AM

Recallnest

AliceLJY
🧠 Knowledge & Memory
0 Views
0 Installs

📇 🏠 🍎 🪟 🐧 - Persistent memory MCP server for AI coding agents (Claude Code, Codex, Gemini CLI). Hybrid retrieval (vector + BM25), cross-encoder reranking, knowledge graph with PPR traversal, session checkpoint/resume, and multi-scope isolation. Local-first with LanceDB + SQLite, zero external dependencies.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "aliceljy-recallnest": {
      "command": "npx",
      "args": [
        "-y",
        "aliceljy-recallnest"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

RecallNest

Shared Memory Layer for Claude Code, Codex, and Gemini CLI

One memory. Three terminals. Context that survives across windows.

A local-first memory system backed by LanceDB that turns scattered conversation history into reusable knowledge — shared across your coding agents, recalled automatically.

GitHub License: MIT Runtime LanceDB MCP Tests CC Plugin

English | 简体中文 | Roadmap


Why RecallNest?

Coding agents forget everything between windows. Your context — project configs, debugging decisions, entity mappings — is scattered across Claude Code, Codex, and Gemini CLI with no shared memory.

RecallNest solves this: a single LanceDB-backed memory layer that your coding agents read and write. Context stored in one window is auto-recalled in another. Sessions checkpoint on exit and resume on start. Memory decays, evolves, and self-organizes — not just raw log storage.

Quick Start

Option A: Claude Code Plugin (recommended)

/plugin marketplace add AliceLJY/recallnest
/plugin install recallnest@AliceLJY

RecallNest starts automatically with Claude Code. No manual MCP config needed.

Requires: Bun (recommended) or Node.js 18+. Dependencies install on first start.

Option B: npm install

npx recallnest --help          # run directly
# or
npm install -g recallnest      # install globally
recallnest doctor

Works with Node.js 18+ (via tsx) or Bun. No git clone needed.

Option C: Manual setup

git clone https://github.com/AliceLJY/recallnest.git
cd recallnest
bun install
cp config.json.example config.json
cp .env.example .env
# Edit .env → add your JINA_API_KEY

Start the server

bun run api
# → RecallNest API running at http://localhost:4318

Try it

# Store a memory
curl -X POST http://localhost:4318/v1/store \
  -H "Content-Type: application/json" \
  -d '{"text": "User prefers dark mode", "category": "preferences"}'

# Recall memories
curl -X POST http://localhost:4318/v1/recall \
  -H "Content-Type: application/json" \
  -d '{"query": "user preferences"}'

# Check stats
curl http://localhost:4318/v1/stats

Connect your terminals

bash integrations/claude-code/setup.sh
bash integrations/gemini-cli/setup.sh
bash integrations/codex/setup.sh

Each script installs MCP access and managed continuity rules, so resume_context fires automatically in fresh windows.

Index existing conversations

bun run src/cli.ts ingest --source all
bun run seed:continuity
bun run src/cli.ts doctor

Web UI

RecallNest Dashboard
Dashboard — total count, category distribution, health score, and growth trends at a glance.

RecallNest Search Workbench
Search Workbench — hybrid search with topic tag filtering, 4 retrieval profiles, Skills browser, and asset management.

RecallNest Knowledge Graph
Knowledge Graph — interactive force-directed visualization with semantic bridges revealing cross-domain connections.

bun run src/ui-server.ts
# → http://localhost:4317

Core Capabilities

Access & Setup

CapabilityDescription
CC PluginInstall in Claude Code with one command — no manual config
Shared IndexOne LanceDB store for Claude Code, Codex, and Gemini CLI
Dual InterfaceMCP (stdio) for CLI tools + HTTP API for custom agents
One-Click SetupIntegration scripts install MCP access and continuity rules

Recall & Continuity

CapabilityDescription
Hybrid Retrieval6-channel: vector + BM25 + L0/L1/L2 multi-vector + KG graph (PPR)
4 Retrieval Profilesdefault, writing, debug, fact-check — tuned for different tasks
Session Continuitycheckpoint_session + resume_context (full/light/summary modes) with repo-state guard
Session Distiller3-layer conversation compression: microcompact → LLM summary → knowledge extraction
Conversation ImportImport from Claude Code, Claude.ai, ChatGPT, Slack, and plaintext
Topic TagsIntra-scope topic partitioning — auto-detected, filterable in search
Related Scope SidecarOpt-in includeRelatedScopes search over configured scopeRelations, shown separately from the main scoped ranking

Memory Lifecycle & Governance

CapabilityDescription
Memory EvolutionSupersede chains, decay scoring, LLM importance, consolidation, archival
Smart PromotionEvidence → durable memory with conflict guards, merge resolution, and audit trail
Privacy Tiers4-tier (ephemeral / private / durable / shared) with cascade forgetting
Admission ControlWrite-time gating: noise filter, importance floor, dedup, rate limiting
Memory LintContradiction, duplicate, stale, and orphan detection with health score
Offline Consolidationdream command: clustering, merging, pruning of accumulated memories

Reasoning & Structure

CapabilityDescription
Knowledge GraphEntity relation graph with PPR algorithm for multi-hop questions
Constructive RetrievalMulti-source candidate expansion + grounded context reconstruction
Narrative Architecture3-layer autobiographical metadata (life-period → general-event → specific-event)
Skill MemoryStore, retrieve, and promote executable skills from recurring patterns
Predictive RemindersBehavioral-signal prediction engine surfaces "you might need this" suggestions
6 Categoriesprofile, preferences, entities, events, cases, patterns — with category-aware merge strategies

Visibility & Operations

CapabilityDescription
DashboardWeb UI with stats, category distribution, growth trends, and health
Workflow ObservationDedicated append-only workflow health records, outside regular memory
Structured AssetsPins, briefs, and distilled summaries — not just raw logs
Data CheckupData quality health checks on the memory store (including source health)
Source HeartbeatsAutomatic ingest health tracking per data source with staleness alerts
Export GraphExport interactive HTML knowledge graph visualization
Batch OperationsStore up to 20 memories in a single call with dedup
Connector FrameworkStandard connector-v1 format for external data sources with example adapters

New in v2.1: Philosophy-Informed Memory

v2.0 built the operational memory platform; v2.1 added philosophy-informed memory behavior.

Five upgrades derived from 9 research dimensions in philosophy of memory, each mapped to concrete engineering:

  • Emotion-Aware Decay (Affective Memory Theory) — Memories with strong emotional content decay 20-30% slower. Keyword-based emotion detection computes salience (mnemonic significance), which feeds into the Weibull half-life formula and a rebalanced 4-factor evolution score. Zero LLM cost.

  • Memory Ethics Layer (Right to Be Forgotten / GDPR Art. 17) — Four privacy tiers (ephemeral / private / durable / shared). Cascade forgetting engine that propagates deletion through KG triples, evolution chains, pin assets, and briefs. Full audit trail. forget_memory MCP tool for agent-driven deletion.

  • Autobiographical Narrative (Narrative Identity Theory / Conway's 3-layer model) — Memories are tagged with lifePeriod → generalEvent → specificEvent hierarchy, orthogonal to existing 6 categories. Retrieval pulls narrative siblings. Context rendering groups by life period. Rule-based tagger with EN+CN support.

  • Constructive Retrieval (Simulation Theory / Michaelian) — Instead of returning raw stored text, RecallNest now reconstructs context from an expanded candidate set: KG neighbors + evolution chains + cluster members + narrative siblings. Source-map grounded coverage replaces lexical overlap. Contradictions are detected and flagged.

  • Predictive Prospective Memory (Mental Time Travel / Tulving) — Heuristic prediction engine that surfaces "you might need this" reminders from behavioral signals: stale checkpoint open loops, corrected workflow observations, high-frequency dormant memories, and uncovered query topics. Zero LLM cost. Auto-expire in 7 days if unaccepted.


New in v2.2: Retrieval Quality Hardening

v2.1 added philosophy-informed behavior; v2.2 closes the last three engine-layer gaps identified by a frontier research scan (ACC, PI-LLM, TSM).

  • Memory Confidence Meta-tags (ACC / Dual-Process UQ) — Each memory now carries structured ConfidenceMetadata (score, reliability tier: direct / inferred / hearsay). Auto-assigned from source on write (manual = 0.9, agent = 0.7, conversation_import = 0.5). Retrieval scores are weighted by confidence. resume_context tags low-confidence items with [低置信].

  • Interference Detection + Active Forgetting Gate (PI-LLM / SleepGate) — Semantic cluster detection identifies groups of near-duplicate memories competing for retrieval. Enhanced RIF keeps only top-K (default 3) per cluster; extras are demoted 50% instead of removed. Write-time pre-warning: when a scope accumulates ≥5 high-similarity active memories, the weakest is flagged pending_review. data_checkup reports interference density.

  • Temporal Validity Windows (TSM / TiMem / Zep)store_memory accepts validUntil (expiration) and eventTime (when the event actually happened). search_memory supports validAt (point-in-time query) and includeExpired (demote 80% instead of hide). Auto-GC applies 2× decay acceleration to expired memories.

  • Usage-Adjusted Auto-GC (off by default)RECALLNEST_USAGE_DECAY=true enables a GC-only cold-memory penalty when constructive retrieval is also active. Cold memories discount the frequency component instead of changing online retrieval ranking.


New in v2.3: Connector Ecosystem + Source Health

v2.2 hardened retrieval quality; v2.3 opens RecallNest to external data sources with a standard connector framework and operational health monitoring.

  • Connector-v1 Standard (GB-2) — A JSON format (ConnectorOutputV1) that any external script can produce. Obsidian vaults, emails, RSS feeds, log files — normalize once, ingest through the full dedup/embed/extract pipeline. See docs/connector-spec.md for the specification and connectors/examples/ for adapter skeletons (email, logs, RSS).

  • Obsidian Vault Ingestion (GB-1) — First-party Obsidian connector: scans .md files, extracts frontmatter + wikilinks, maps folder structure to tags. One command: lm ingest --obsidian /path/to/vault.

  • Source Health Monitoring (GB-3) — Every connector ingest writes a heartbeat to data/source-heartbeat.json. data_checkup flags stale sources (>7d warning, >30d error). doctor --ci shows a per-source heartbeat summary with human-readable age.


Architecture

┌──────────────────────────────────────────────────────────┐
│                     Client Layer                          │
├──────────┬──────────┬──────────┬──────────────────────────┤
│ Claude   │ Gemini   │ Codex    │ Custom Agents / curl     │
│ Code     │ CLI      │          │                          │
└────┬─────┴────┬─────┴────┬─────┴──────┬──────────────────┘
     │          │          │            │
     └──── MCP (stdio) ───┘     HTTP API (port 4318)
                │                       │
                ▼                       ▼
┌──────────────────────────────────────────────────────────┐
│                   Integration Layer                       │
│  ┌─────────────────────┐  ┌────────────────────────────┐ │
│  │  MCP Server         │  │  HTTP API Server           │ │
│  │  43 tools           │  │  21 endpoints              │ │
│  └─────────┬───────────┘  └──────────┬─────────────────┘ │
└────────────┼─────────────────────────┼───────────────────┘
             └──────────┬──────────────┘
                        ▼
┌──────────────────────────────────────────────────────────┐
│                     Core Engine                           │
│                                                           │
│  ┌────────────┐  ┌────────────┐  ┌─────────────────────┐ │
│  │ Retriever  │  │ Classifier │  │ Context Composer     │ │
│  │ (vector +  │  │ (6 cats)   │  │ (resume_context)     │ │
│  │ BM25 + RRF)│  │            │  │                      │ │
│  └────────────┘  └────────────┘  └──────────────────────┘ │
│  ┌────────────┐  ┌────────────┐  ┌─────────────────────┐ │
│  │ Decay      │  │ Conflict   │  │ Capture Engine       │ │
│  │ Engine     │  │ Engine     │  │ (evidence → durable) │ │
│  │ (Weibull)  │  │ (audit +   │  │                      │ │
│  │            │  │  merge)    │  │                      │ │
│  └────────────┘  └────────────┘  └──────────────────────┘ │
└──────────────────────────┬───────────────────────────────┘
                           ▼
┌──────────────────────────────────────────────────────────┐
│                    Storage Layer                          │
│  ┌─────────────────────┐  ┌────────────────────────────┐ │
│  │ LanceDB             │  │ Jina Embeddings v5         │ │
│  │ (vector + columnar) │  │ (1024-dim, task-aware)     │ │
│  └─────────────────────┘  └────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘

Internal Design

  • L0 / L1 / L2 Dynamic Folding — every memory stores 3 granularity layers (one-liner / bullet summary / full content); retrieval dynamically selects which layer to return based on relevance score and token budget
  • Weibull Decay + Emotion Modulation — memories decay along a parametric Weibull curve; importance scores modulate the half-life, and emotional salience extends it further (up to 30%)
  • Vector Pre-filter + LLM Dedup — 90% of dedup decisions use cheap cosine similarity (>= 0.92); only borderline cases invoke LLM judgment, keeping costs low without sacrificing accuracy
  • Category-Aware Merge Strategiesprofile and preferences use merge-on-conflict (latest wins); events and cases use append-only (history preserved)
  • Display Score vs Elimination Score — dual-track retrieval: tier floor prevents core memories from ever dropping out, while decay boost lets fresh memories surface temporarily without permanently displacing stable ones

Full architecture deep-dive: docs/architecture.md


Interfaces

RecallNest serves two interfaces:

  • MCP — for Claude Code, Gemini CLI, and Codex (native tool access)
  • HTTP API — for custom agents, SDK-based apps, and any HTTP client

Agent framework examples

Examples live in integrations/examples/:

FrameworkExampleLanguage
Claude Agent SDKmemory-agent.tsTypeScript
OpenAI Agents SDKmemory-agent.pyPython
LangChainmemory-chain.pyPython

MCP Tools (43 tools)
ToolDescription
workflow_observeStore an append-only workflow observation outside regular memory; accepts idempotencyKey for retry-safe writes
workflow_healthInspect workflow observation health or show a degraded-workflow dashboard
workflow_evidenceBuild an evidence pack for a workflow primitive
store_memoryStore a durable memory for future windows
store_workflow_patternStore a reusable workflow as durable patterns memory
store_caseStore a reusable problem-solution pair as durable cases memory
promote_memoryExplicitly promote evidence into durable memory
promote_scanScan recent evidence and auto-promote qualifying memories into durable storage
list_conflictsList or inspect promotion conflict candidates
audit_conflictsSummarize stale/escalated conflict priorities
escalate_conflictsPreview or apply conflict escalation metadata
resolve_conflictResolve a stored conflict candidate (keep / accept / merge)
checkpoint_sessionStore the current active work state outside durable memory; accepts idempotencyKey for retry-safe writes
latest_checkpointInspect the latest saved checkpoint by session or scope
resume_contextCompose startup context for a fresh window
search_memoryProactive recall at task start
explain_memoryExplain why memories matched
distill_memoryDistill results into a compact briefing
brief_memoryCreate a structured brief and re-index it
pin_memoryPromote a scoped memory into a pinned asset
export_memoryExport a distilled memory briefing to disk
list_pinsList pinned memories
list_assetsList all structured assets
list_dirty_briefsPreview outdated brief assets created before the cleanup rules
clean_dirty_briefsArchive dirty brief assets and remove their indexed rows
memory_statsShow index statistics
memory_drill_downInspect a specific memory entry with full metadata and provenance
auto_captureHeuristically extract and store memory signals from text (zero LLM calls)
set_reminderSet a prospective memory reminder to surface in a future session
consolidate_memoriesCluster near-duplicate memories and merge them (dry-run by default)
store_skillStore an executable skill with trigger conditions and verification
retrieve_skillRetrieve matching executable skills by semantic similarity
scan_skill_promotionsScan cases/patterns for promotion candidates to skills
list_toolsDiscover available tools by tier (core/advanced/full)
batch_storeStore up to 20 memories in a single call with dedup
distill_sessionDistill a conversation into structured knowledge via 3-layer pipeline
import_conversationsImport conversations from Claude Code, ChatGPT, Slack, and more
data_checkupRun data quality health checks on the memory store
dreamRun offline memory consolidation (clustering, merging, pruning)
memory_lintRun memory quality checks: contradictions, duplicates, stale entries, orphans
forget_memoryCascade-delete a memory with KG cleanup, pin archival, and audit trail
export_graphExport memories as an interactive HTML knowledge graph
HTTP API (21 endpoints)

Base URL: http://localhost:4318

EndpointMethodDescription
/v1/recallPOSTQuick semantic search
/v1/storePOSTStore a new memory
/v1/capturePOSTStore multiple structured memories
/v1/patternPOSTStore a structured workflow pattern
/v1/casePOSTStore a structured problem-solution case
/v1/promotePOSTPromote evidence into durable memory
/v1/conflictsGETList or inspect promotion conflict candidates
/v1/conflicts/auditGETSummarize stale/escalated conflict priorities
/v1/conflicts/escalatePOSTPreview or apply conflict escalation metadata
/v1/conflicts/resolvePOSTResolve a stored conflict candidate (keep / accept / merge)
/v1/checkpointPOSTStore the current work checkpoint
/v1/workflow-observePOSTStore a workflow observation outside durable memory
/v1/checkpoint/latestGETFetch the latest checkpoint by session or scope
/v1/workflow-healthGETInspect workflow health or return a degraded-workflow dashboard
/v1/workflow-evidenceGETBuild a workflow evidence pack from recent issue observations
/v1/resumePOSTCompose startup context for a fresh window
/v1/searchPOSTAdvanced search with full metadata
/v1/statsGETMemory statistics
/v1/lintGETMemory quality lint report
/v1/healthGETHealth check

Full documentation: docs/api-reference.md

CLI Commands
# Search & explore
bun run src/cli.ts search "your query"
bun run src/cli.ts explain "your query" --profile debug
bun run src/cli.ts distill "topic" --profile writing
bun run src/cli.ts stats

# Workflow observation
bun run src/cli.ts workflow-observe resume_context "Fresh window skipped continuity recovery." --outcome missed --scope project:recallnest --idempotency-key smoke-2026-06-26
bun run src/cli.ts workflow-health resume_context --scope project:recallnest
bun run src/cli.ts workflow-evidence checkpoint_session --scope project:recallnest

# Conflict management
bun run src/cli.ts conflicts list
bun run src/cli.ts conflicts list --attention resolved
bun run src/cli.ts conflicts list --group-by cluster --attention resolved
bun run src/cli.ts conflicts audit
bun run src/cli.ts conflicts audit --export --format md
bun run src/cli.ts conflicts escalate --attention stale
bun run src/cli.ts conflicts show af70545a
bun run src/cli.ts conflicts resolve af70545a --keep-existing
bun run src/cli.ts conflicts resolve af70545a --merge
bun run src/cli.ts conflicts resolve --all --keep-existing --status open

# Memory health & visualization
bun run src/cli.ts lint                         # memory quality report
bun run src/cli.ts lint --scope project:myapp   # lint a specific scope
bun run src/cli.ts graph --open                 # export & open knowledge graph
bun run src/cli.ts graph --max-nodes 50         # smaller graph

# Ingestion & diagnostics
bun run src/cli.ts ingest --source all
bun run src/cli.ts doctor

Multilingual Support

RecallNest works out of the box with English. For multilingual memory (Chinese, Japanese, Thai, and 20+ more), install babel-memory with the language packs you need:

# Chinese
npm install babel-memory jieba-wasm

# Japanese
npm install babel-memory @sglkc/kuromoji

# Thai
npm install babel-memory wordcut

# European languages (German, French, Spanish, Russian, etc.)
npm install babel-memory snowball-stemmers

# Multiple languages at once
npm install babel-memory jieba-wasm @sglkc/kuromoji snowball-stemmers

RecallNest auto-detects babel-memory at startup — no configuration needed. Without babel-memory, RecallNest still works perfectly with standard BM25 text search.


Project Status & Roadmap

RecallNest is actively maintained. All major architecture phases are complete — see the full Roadmap for current priorities and future plans.


Relationship to memory-lancedb-pro

RecallNest started as a fork of memory-lancedb-pro and shares its core ideas around hybrid retrieval, decay modeling, and memory-as-engineering-system. The key difference:

  • memory-lancedb-pro is an OpenClaw plugin — it adds long-term memory to a single OpenClaw agent.
  • RecallNest is a standalone memory layer — it serves Claude Code, Codex, and Gemini CLI simultaneously through MCP + HTTP API, with session continuity, structured assets, and conflict management built in.

Credit

SourceContribution
memory-lancedb-pro by @win4rFork base — hybrid retrieval, decay modeling, and memory architecture
Claude CodeFoundation and early project scaffolding
OpenAI CodexProductization and MCP expansion

Special thanks to Qin Chao (@win4r) and the CortexReach team for the foundational work.

Ecosystem

Part of the 小试AI open-source AI workflow:

ProjectDescription
babel-memoryMultilingual preprocessing for BM25 — 27+ languages, zero deps
cc-empireHooks/rules/methodology — the connective tissue of the whole ecosystem
telegram-ai-bridgeTelegram bots for Claude, Codex, and Gemini
tg-bridge-channelSister Telegram bridge using Claude Agent View background sessions
wechat-ai-bridgeRun Claude Code / Codex / Gemini in WeChat with session management
openclaw-tunnelDocker ↔ host CLI bridge (maintenance mode — LanceDB test only)
digital-clone-skillBuild digital clones from corpus data
claude-code-studioMulti-session collaboration platform for Claude Code
workflow-orchestratorNatural-language pipeline orchestrator for Claude Code

License

MIT

Related MCP Servers

S
Server Memory
Verified

📇 🏠 - Knowledge graph-based persistent memory system for maintaining context

🧠 Knowledge & Memory2 views
M
Mcp Summarizer

📕 ☁️ - AI Summarization MCP Server, Support for multiple content types: Plain text, Web pages, PDF documents, EPUB books, HTML content

🧠 Knowledge & Memory0 views
C
Claude Engram

🐍 🏠 - Persistent memory and session intelligence for Claude Code. Auto-tracks mistakes, decisions, and context via hooks. Mines session history for patterns and cross-session search. Loop detection, pre-edit warnings, context compaction survival. Runs locally with Ollama.

🧠 Knowledge & Memory0 views
A
A2cr

🐍 ☁️ 🏠 🍎 🪟 🐧 - MCP server for AI-agent handoffs. Saves client-encrypted WorkBaton checkpoints and WorkStash notes so Codex, Claude Code, Roo Code, and other MCP clients can resume work without passing full chat history.

🧠 Knowledge & Memory0 views
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.