Skip to content
Conduit

mcp server

claude-self-reflect

Claude forgets everything. This fixes that. πŸ”— www.npmjs.com/package/claude-self-reflect

ramakay/claude-self-reflectcommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ramakay-claude-self-reflect": {
      "command": "npx",
      "args": [
        "-y",
        "claude-self-reflect"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 14, 2026

Claude Self-Reflect

npm downloads MIT Release Claude Code MCP Rust Local First stars

Claude forgets everything. This fixes that.

Single 44MB binary. No databases. No containers. No API keys required.

Install | How It Works | MCP Tools | Paper | FAQ

v9.4 — Multi-Source Memory CSR now remembers more than transcripts: task outcomes, plan documents, and a cross-project session registry — each absorbed at the lifecycle stage it belongs to. Episodes carry real task state again (Claude Code's TodoWrite→TaskCreate rename had silently emptied them — found, fixed, and guarded with schema-miss telemetry). Sub-millisecond search, ~150ms cached startup, 720+ tests, zero external dependencies. Release notes

Table of Contents


The Forgetting Problem

Claude starts fresh every session. Solutions you found, architectures you designed, bugs you debugged β€” all gone.

Context retention drops below 20% after 10 sessions. CSR fixes this with a single binary that gives Claude perfect memory.

No special syntax. No commands. Install once, and past context appears automatically when you need it.

Explore the full documentation β†’


One Binary. 44MB.

Everything runs locally in a single process. No Docker, no database server, no API keys required.

  • SQLite β€” storage for chunks, embeddings, enrichment state
  • HNSW β€” sub-millisecond vector search (<1ms p95)
  • FastEmbed β€” 384-dim local embeddings
  • AST β€” code-aware search across 6 languages

6 hooks fire across the session lifecycle. 15 MCP tools for explicit search β€” including csr_code_graph, linking code symbols to the conversations that shaped them.

Explore the full documentation β†’


The Pipeline

Three layers progressively improve search quality from raw chunks to AI-enriched narratives β€” 9.3x improvement.

Higher quality context. Better decisions. Fewer tokens.

Explore the full documentation β†’


The Paper

CSR's retrieval design is documented in a research preprint, measured on the system's own development history:

Similarity Drowns Intent: Three-Trace Sagas and Reinstatement Recall for Provenance in Agentic Software Construction 2026 β€” PDF

Ask a memory system "why did we drop Qdrant?" and cosine similarity returns a recording of you asking that question earlier, at 0.984 similarity. The decision itself scores lower than its own echoes. The paper measures this failure, the multi-hop walk built to counter it (+53% and +47% ground-truth session coverage over one-shot kNN on two corpora, pre-registered gates, blind cross-vendor judging), and a second finding that fell out of evaluation: a self-recording memory system ingests its own eval dialogue and drowns the answers it's being tested on. It also keeps its negative results β€” a pre-registered ratification-weighting hypothesis died at Οβ‰ˆ0 and forbade an entire staleness design.


Install

curl -fsSL https://raw.githubusercontent.com/ramakay/claude-self-reflect/main/scripts/install.sh | sh

Downloads the binary (SHA256-verified), then asks before activating. Setup β€” which registers the MCP server, installs 6 hooks, and imports your conversations β€” only runs with your consent. Restart Claude Code after.

Non-interactive installs never activate on their own: set CSR_AUTO_SETUP=1 to opt in, or run csr-engine setup yourself.

PlatformSupport
macOS (Apple Silicon)Prebuilt binary
Linux x86_64 / WSLPrebuilt binary
Linux ARM64Prebuilt binary
macOS (Intel)Build from source
npm install -g claude-self-reflect
csr-engine setup   # activation is a separate, explicit step

By default npm install only downloads the checksummed binary β€” it does not touch ~/.claude or index conversations. Activation happens when you run csr-engine setup, or set CSR_AUTO_SETUP=1 during install to opt in.

git clone https://github.com/ramakay/claude-self-reflect.git
cd claude-self-reflect/csr-engine
cargo build --release
cp target/release/csr-engine ~/.local/bin/
csr-engine setup
  • "How did we solve re-renders on this component?"
  • "What did we tell Joe about that commit?"
  • "What were our frustrations with this approach?"
  • "Where did we put the auth middleware config?"

No special syntax. No commands. CSR finds relevant past context and injects it automatically.

MetricValue
Cached startup~150ms (p50, 54K-chunk index)
Search latency (p95)<1ms
Binary size44MB
Import speed~20 conversations/sec
Embedding0.73ms/text (batch)

All tools include MCP tool annotations so Claude Code understands their safety characteristics.

ToolDescriptionSafety
csr_reflect_on_pastSemantic search across past conversationsread-only
store_reflectionStore insights for future retrievalwrites
csr_quick_checkFast existence check (count + top match)read-only
search_by_recencyTime-constrained search ("last week")read-only
get_recent_work"What did we work on?" with session groupingread-only
get_timelineActivity timeline with statisticsread-only
csr_search_by_fileFind conversations that touched a fileread-only
csr_search_by_conceptTheme-based search ("security", "testing")read-only
csr_search_insightsAggregated patterns from search resultsread-only
csr_get_morePaginate through additional resultsread-only
get_full_conversationRetrieve complete JSONL conversationread-only
get_session_learningsIteration-level memory for Ralph loopsread-only
csr_code_graphWhich conversations shaped a function or file (AST anchors)read-only
csr_whyProvenance chain β€” why does this code/decision existread-only
csr_resolveRecord verified verdicts (resolved/still_open/regressed) on chunkswrites
HookWhat it does
SessionStartSurfaces relevant past context at conversation start
UserPromptSubmitPredicts and injects context before Claude responds
PostToolUseTracks file edits with session-scoped dedup
StopStores iteration learnings, detects stuck patterns
PreCompactBacks up state before context compaction
SessionEndStores session narrative for future retrieval

All hooks use catch-all error handling. They never block Claude Code.

Transform raw conversations into rich, searchable narratives. Requires an Anthropic API key.

csr-engine daemon
MetricWithoutWith AI Narratives
Search quality0.0740.691 (9.3x)
Token compression100%18% (82% reduction)
Cost per conversation-~$0.012 (Batch API)

Token transparency: Optional AI narratives (session briefings + story extraction) run claude -p against your existing Claude subscription β€” smallest available model, capped prompts, debounced, and skipped entirely when nothing changed. Every call β€” including failures and timeouts β€” is counted: csr-engine status shows calls and tokens spent today; cache read/creation tokens (often the majority of real usage) are tracked separately in the status JSON (cache_tokens_today / cache_tokens_total). Disable anytime with CSR_NO_AI_NARRATIVES=1; pin a model with CSR_NARRATIVE_MODEL=<model>.

csr-engine                     Start MCP server (default)
csr-engine setup               One-shot setup: import + MCP + hooks
csr-engine status              System status (JSON)
csr-engine status --compact    One-line statusline output
csr-engine daemon              Background enrichment daemon
csr-engine hook install --apply Install Claude Code hooks
csr-engine eval                Quick eval (5 tests)
csr-engine eval --full         Full eval (20 tests)
csr-engine quality <file>      AST-based code quality analysis

v8.0 replaces the Python/Docker stack with a single Rust binary.

docker compose down 2>/dev/null
curl -fsSL https://raw.githubusercontent.com/ramakay/claude-self-reflect/main/scripts/install.sh | sh

Your conversation data (~/.claude/projects/) is untouched. The new engine re-imports from the same JSONL files.

SymptomFix
No search resultsRun csr-engine setup
MCP tools not availableRun csr-engine setup, restart Claude Code
"spawn ENOENT" in MCPEnsure csr-engine is in PATH
Slow first startupNormal (~14s for index rebuild, subsequent: ~150ms)

Full guide: Documentation

claude mcp remove claude-self-reflect
rm -rf ~/.claude-self-reflect/
rm ~/.local/bin/csr-engine
npm uninstall -g claude-self-reflect  # if installed via npm

Documentation | npm | Issues | MIT License

↑↓ navigate openesc close