First AI memory system to model forgetting as a neuroscience-grounded PROCESS rather than passive decay. Adds the `suppress` MCP tool (#24), Rac1 cascade worker, migration V10, and dashboard forgetting indicators. Based on: - Anderson, Hanslmayr & Quaegebeur (2025), Nat Rev Neurosci — right lateral PFC as the domain-general inhibitory controller; SIF compounds with each stopping attempt. - Cervantes-Sandoval et al. (2020), Front Cell Neurosci PMC7477079 — Rac1 GTPase as the active synaptic destabilization mechanism. What's new: * `suppress` MCP tool — each call compounds `suppression_count` and subtracts a `0.15 × count` penalty (saturating at 80%) from retrieval scores during hybrid search. Distinct from delete (removes) and demote (one-shot). * Rac1 cascade worker — background sweep piggybacks the 6h consolidation loop, walks `memory_connections` edges from recently-suppressed seeds, applies attenuated FSRS decay to co-activated neighbors. You don't just forget Jake — you fade the café, the roommate, the birthday. * 24h labile window — reversible via `suppress({id, reverse: true})` within 24 hours. Matches Nader reconsolidation semantics. * Migration V10 — additive-only (`suppression_count`, `suppressed_at` + partial indices). All v2.0.x DBs upgrade seamlessly on first launch. * Dashboard: `ForgettingIndicator.svelte` pulses when suppressions are active. 3D graph nodes dim to 20% opacity when suppressed. New WebSocket events: `MemorySuppressed`, `MemoryUnsuppressed`, `Rac1CascadeSwept`. Heartbeat carries `suppressed_count`. * Search pipeline: SIF penalty inserted into the accessibility stage so it stacks on top of passive FSRS decay. * Tool count bumped 23 → 24. Cognitive modules 29 → 30. Memories persist — they are INHIBITED, not erased. `memory.get(id)` returns full content through any number of suppressions. The 24h labile window is a grace period for regret. Also fixes issue #31 (dashboard graph view buggy) as a companion UI bug discovered during the v2.0.5 audit cycle: * Root cause: node glow `SpriteMaterial` had no `map`, so `THREE.Sprite` rendered as a solid-coloured 1×1 plane. Additive blending + `UnrealBloomPass(0.8, 0.4, 0.85)` amplified the square edges into hard-edged glowing cubes. * Fix: shared 128×128 radial-gradient `CanvasTexture` singleton used as the sprite map. Retuned bloom to `(0.55, 0.6, 0.2)`. Halved fog density (0.008 → 0.0035). Edges bumped from dark navy `0x4a4a7a` to brand violet `0x8b5cf6` with higher opacity. Added explicit `scene.background` and a 2000-point starfield for depth. * 21 regression tests added in `ui-fixes.test.ts` locking every invariant in (shared texture singleton, depthWrite:false, scale ×6, bloom magic numbers via source regex, starfield presence). Tests: 1,284 Rust (+47) + 171 Vitest (+21) = 1,455 total, 0 failed Clippy: clean across all targets, zero warnings Release binary: 22.6MB, `cargo build --release -p vestige-mcp` green Versions: workspace aligned at 2.0.5 across all 6 crates/packages Closes #31 |
||
|---|---|---|
| .. | ||
| bin | ||
| scripts | ||
| .gitignore | ||
| .npmignore | ||
| package.json | ||
| README.md | ||
vestige-mcp-server
Vestige MCP Server - A synthetic hippocampus for AI assistants.
Built on 130 years of cognitive science research, Vestige provides biologically-inspired memory that decays, strengthens, and consolidates like the human mind.
Installation
npm install -g vestige-mcp-server
This automatically downloads the correct binary for your platform (macOS, Linux, Windows) from GitHub releases.
What gets installed
| Command | Description |
|---|---|
vestige-mcp |
MCP server for Claude integration |
vestige |
CLI for stats, health checks, and maintenance |
Verify installation
vestige health
Usage with Claude Code
claude mcp add vestige vestige-mcp -s user
Then restart Claude.
Usage with Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
CLI Commands
vestige stats # Memory statistics
vestige stats --states # Cognitive state distribution
vestige health # System health check
vestige consolidate # Run memory maintenance cycle
Features
- FSRS-6 Algorithm: State-of-the-art spaced repetition for optimal memory retention
- Dual-Strength Memory: Bjork & Bjork (1992) - Storage + Retrieval strength model
- Synaptic Tagging: Memories become important retroactively (Frey & Morris 1997)
- Semantic Search: Local embeddings via nomic-embed-text-v1.5 (768 dimensions)
- Local-First: All data stays on your machine - no cloud, no API costs
Storage & Memory
Vestige uses SQLite for storage. Your memories are stored on disk, not in RAM.
- Database limit: 216TB (SQLite theoretical max)
- RAM usage: ~64MB cache (configurable)
- Typical usage: 1 million memories ≈ 1-2GB on disk
You'll never run out of space. A heavy user creating 100 memories/day would use ~1.5GB after 10 years.
Embeddings
On first use, Vestige downloads the nomic-embed-text-v1.5 model (~130MB). This is a one-time download and all subsequent operations are fully offline.
The model is stored in .fastembed_cache/ in your working directory, or you can set a global location:
export FASTEMBED_CACHE_PATH="$HOME/.fastembed_cache"
Environment Variables
| Variable | Description | Default |
|---|---|---|
VESTIGE_DATA_DIR |
Data storage directory | ~/.vestige |
VESTIGE_LOG_LEVEL |
Log verbosity | info |
FASTEMBED_CACHE_PATH |
Embeddings model location | ./.fastembed_cache |
Troubleshooting
"Could not attach to MCP server vestige"
- Verify binary exists:
which vestige-mcp - Test directly:
vestige-mcp(should wait for stdio input) - Check Claude logs:
~/Library/Logs/Claude/(macOS)
"vestige: command not found"
Reinstall the package:
npm install -g vestige-mcp-server
Embeddings not downloading
The model downloads on first ingest or search operation. If Claude can't connect to the MCP server, no memory operations happen and no model downloads.
Fix the MCP connection first, then the model will download automatically.
Supported Platforms
| Platform | Architecture |
|---|---|
| macOS | ARM64 (Apple Silicon), x86_64 (Intel) |
| Linux | x86_64 |
| Windows | x86_64 |
License
AGPL-3.0-only