P0 fixes: - Add `vestige backup <path>` — full DB copy with WAL checkpoint flush - Add `vestige export --format json|jsonl [--tags] [--since] <path>` — paginated memory export with tag/date filtering - Add `vestige gc --min-retention 0.1 [--max-age-days] [--dry-run] [--yes]` — bulk cleanup of stale memories with safety prompts - Fix apply_decay() scaling: batched pagination (500 rows/batch) with explicit transactions instead of loading all nodes into memory - Fix hidden MCP resources: memory://insights and memory://consolidation-log now listed in resources/list (were implemented but undiscoverable) P1 fixes: - Add auto-consolidation on server startup: FSRS-6 decay runs in background after 2s delay, only if last consolidation was >6 hours ago - Add encryption at rest via SQLCipher feature flag: use --features encryption with VESTIGE_ENCRYPTION_KEY env var (bundled-sqlite and encryption are mutually exclusive) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| crates | ||
| docs | ||
| packages | ||
| tests/e2e | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| demo.sh | ||
| LICENSE | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| SECURITY.md | ||
Vestige
Memory that fades like yours does.
The only MCP memory server built on cognitive science. FSRS-6 spaced repetition, spreading activation, synaptic tagging—all running 100% local.
Quick Start
1. Download
macOS (Apple Silicon):
curl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-aarch64-apple-darwin.tar.gz | tar -xz
sudo mv vestige-mcp vestige vestige-restore /usr/local/bin/
Other platforms
macOS (Intel):
curl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-x86_64-apple-darwin.tar.gz | tar -xz
sudo mv vestige-mcp vestige vestige-restore /usr/local/bin/
Linux:
curl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-x86_64-unknown-linux-gnu.tar.gz | tar -xz
sudo mv vestige-mcp vestige vestige-restore /usr/local/bin/
Windows: Download from Releases
Build from source:
git clone https://github.com/samvallad33/vestige && cd vestige
cargo build --release
sudo cp target/release/vestige-mcp /usr/local/bin/
2. Connect to Claude
claude mcp add vestige vestige-mcp -s user
3. Restart & Test
Restart Claude, then:
"Remember that I prefer TypeScript over JavaScript"
New session:
"What are my coding preferences?"
It remembers.
Why Vestige?
| Problem | Solution |
|---|---|
| AI forgets between sessions | Persistent memory with intelligent retrieval |
| RAG dumps irrelevant context | Prediction Error Gating auto-decides CREATE/UPDATE/SUPERSEDE |
| Memory bloat eats tokens | FSRS-6 decay naturally fades unused memories |
| No idea what AI "knows" | search tool lets you query anytime |
| Privacy concerns | 100% local after initial setup |
Tools
| Tool | Description |
|---|---|
search |
Unified search (keyword + semantic + hybrid) |
smart_ingest |
Intelligent ingestion with duplicate detection |
ingest |
Simple memory storage |
memory |
Get, delete, or check memory state |
codebase |
Remember patterns and architectural decisions |
intention |
Set reminders and future triggers |
promote_memory |
Mark memory as helpful (strengthens) |
demote_memory |
Mark memory as wrong (weakens) |
Make Claude Use Vestige Automatically
Add this to your CLAUDE.md:
## Vestige Memory System
At the start of every conversation, check Vestige for context:
1. Recall user preferences and instructions
2. Recall relevant project context
3. Operate in proactive memory mode - save important info without being asked
Trigger Words
| User Says | Claude Does |
|---|---|
| "Remember this" | smart_ingest immediately |
| "I prefer..." / "I always..." | Save as preference |
| "Remind me..." | Create intention |
| "This is important" | smart_ingest + promote_memory |
Troubleshooting
"Command not found" after installation
Ensure vestige-mcp is in PATH:
which vestige-mcp
Or use full path in Claude config:
claude mcp add vestige /full/path/to/vestige-mcp -s user
Model cache location
The embedding model (~130MB) is cached in platform-specific directories:
- macOS:
~/Library/Caches/com.vestige.core/fastembed - Linux:
~/.cache/vestige/fastembed - Windows:
%LOCALAPPDATA%\vestige\cache\fastembed
Override with: export FASTEMBED_CACHE_PATH=/custom/path
Model download fails
First run requires internet (~130MB). If behind proxy:
export HTTPS_PROXY=your-proxy:port
Documentation
| Document | Contents |
|---|---|
| FAQ | 30+ answers to common questions |
| How It Works | FSRS-6, dual-strength memory, the neuroscience |
| Storage Modes | Global, per-project, multi-Claude setup |
| CLAUDE.md Setup | Templates for proactive memory use |
| Configuration | CLI commands, environment variables |
| Changelog | Version history |
CLI Commands
vestige stats # Memory statistics
vestige health # System health check
vestige consolidate # Run memory maintenance
vestige restore <file> # Restore from backup
Contributing
Issues and PRs welcome! See CONTRIBUTING.md.
License
MIT OR Apache-2.0 (dual-licensed)
Built by @samvallad33