Claude Soul
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude Soulwhat did we decide about the auth flow last week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Claude Soul
Claude Code forgets everything between sessions. Claude Soul doesn't.
npx claude-soul init --starterOne command. No API key, no cloud, everything local.
Prerequisites: Node.js >= 18, Claude Code (Pro or Max plan).
Three things it does
1. Remembers across sessions
Cross-session memory with semantic search. Facts, decisions, lessons — all searchable by meaning, not just keywords. Uses local SQLite + optional Ollama embeddings.
You: "what did we decide about the auth flow last week?"
Claude: [searches memory → finds the decision, context, and reasoning]2. Tracks your corrections
Every time you correct your Claude — "that's wrong", "you missed this", "stop doing that" — the system detects the pattern, classifies it, and tracks whether it's getting better or worse.
$ claude-soul shadow --brief
premature_done: 26 corrections across 10 sessions ↑ [active]
robot_mode: 7 corrections across 6 sessions ↓↓ [internalized]
authenticity: 5 corrections across 5 sessions ↓↓ [internalized]Patterns move through lifecycle stages: new → active → improving → internalized. After 200 sessions of real data: robot_mode went from 0.8 corrections/session to zero.
3. Develops judgment over time
The system extracts behavioral signals from every session and periodically reflects on them. Frameworks that keep working get promoted. Bad ones get retired. After a few weeks, you get a Claude that pushes back on bad ideas, catches its own confabulation, and develops techniques you never prompted.
Related MCP server: SharedMemory MCP Server
Install
Quick start (no extra dependencies)
npx claude-soul init --starterAdd this to your CLAUDE.md:
## Soul System
Call `soul_context()` at the start of every conversation.
Use `soul_reflect` when you have idle time.Done. Memory works with keyword search, everything else runs automatically.
With semantic memory
Semantic search finds memories by meaning — "auth decision" finds a memory stored as "chose JWT tokens for login." Without it, search is keyword-based (still works, just less flexible).
# 1. Install Ollama (https://ollama.com)
# 2. Pull the embedding model
ollama pull nomic-embed-text
# 3. Then install as usual
npx claude-soul init --starterThe system auto-detects Ollama. No configuration needed.
For agents (non-interactive)
npx claude-soul init --starter --skip-identitySkips the name/context questions. Add the CLAUDE.md snippet to your agent's working directory and it works the same way — memory, correction tracking, and framework evolution all run through Claude Code's hooks and MCP server regardless of whether a human is typing or an agent is running.
Already installed? Upgrade
npm install -g claude-soul@latest
claude-soul upgradeYour soul files, frameworks, and data stay untouched. The upgrade re-registers hooks and MCP server with the latest version and adds any new features.
After upgrading, run claude-soul index once to backfill existing data into the memory system.
Memory system — 6 new MCP tools (
memory_save,memory_search,recall, etc.) for cross-session fact storage with semantic searchCorrection tracking — auto-detects when you correct your Claude and classifies the pattern
Shadow analysis —
claude-soul shadowshows behavioral patterns with trend arrows and lifecycle stagesIndexing —
claude-soul indexloads your existing journals and soul files into the memory database
These are optional — the system runs automatically. The CLI is for inspecting collected data from your terminal.
Command | What it does |
| System health — frameworks, signals, phase |
| Your correction patterns with trends |
| Auto-generate a SHADOW.md from your data |
| Index existing files into memory database |
| Update hooks without touching your data |
How it works
Session N
│
├─ Load identity + frameworks + memory
│
├─ Normal Claude Code usage
│
├─ Session ends → extract signals + corrections + index to memory
│
└─ Reflection threshold? → evolve frameworks → Session N+1Everything runs through Claude Code's official extension points: an MCP server (15 tools) and hooks (signal extraction, journaling, memory indexing, correction tracking).
Identity & Learning
Tool | Purpose |
| Load identity + frameworks + state at session start |
| Select relevant frameworks for current conversation |
| Load a single framework with full evidence history |
| Record observed interaction patterns |
| Trigger a reflection cycle (quick/deep/meta) |
| Record a self-evaluation of a complex response |
| Read soul files (SOUL.md, SHADOW.md, etc.) |
| Write to user-editable soul files |
| Get current system status |
Memory
Tool | Purpose |
| Save facts, decisions, or lessons |
| Semantic search across all memories |
| Search or browse conversation journals |
| List recently saved memories |
| Memory system statistics |
| Unified "ask anything about the past" search |
File | Purpose | Managed by |
| Your identity — who you are, how you work | You + Claude |
| Blind spots and behavioral tendencies | You + Claude |
| Timeline of growth and key moments | You + Claude |
| Patterns to avoid, learned from mistakes | You + Claude |
| System telemetry (confidence, phase, counts) | Auto |
| Active framework index | Auto |
All settings in ~/.soul/config.json:
{
"signals": { "enabled": true, "maxLogSizeKb": 50 },
"reflection": {
"enabled": true,
"quickSignalThreshold": 20,
"deepSignalThreshold": 100,
"quickModel": "haiku",
"deepModel": "sonnet"
},
"contextBudget": { "maxTokens": 4500 },
"tensions": { "enabled": true },
"metaOptimization": { "enabled": true },
"writeProtection": { "enabled": true }
}Philosophy
Evidence over assertion — Frameworks earn their place through repeated confirmation.
Local-first — No cloud, no accounts, no telemetry.
Invisible when working — Extracts signals automatically, reflects in the background.
Contributing
Contributions welcome. Open an issue to discuss before submitting large PRs.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Related MCP Servers
- AlicenseAqualityCmaintenancePersistent memory for Claude Code. Automatically indexes every conversation and provides production-grade hybrid search (BM25 + vectors + reranker) via MCP tools. 100% local, zero config, zero API keys, zero invoice.1637 npm7MIT
- AlicenseAqualityDmaintenanceGives Claude Code, Claude Desktop, Cursor, VS Code Copilot, and other MCP-compatible tools persistent memory.1838 npm1MIT
- FlicenseNot gradedqualityDmaintenanceProvides persistent semantic memory for Claude Code via local embeddings and six MCP tools, enabling context storage and retrieval across sessions without cloud dependencies.-
- FlicenseNot gradedqualityAmaintenanceEnables Claude Code to maintain cross-session memory using self-hosted Qdrant vector storage, optional Neo4j knowledge graphs, and Ollama embeddings, with Anthropic or Ollama as the main LLM. It exposes MCP tools for adding, searching, updating, deleting, and graphing memories, plus hooks for automatic context injection and session summarization.-