{"id":42279354,"url":"https://github.com/samvallad33/vestige","last_synced_at":"2026-02-21T06:13:46.661Z","repository":{"id":334635214,"uuid":"1141662059","full_name":"samvallad33/vestige","owner":"samvallad33","description":"Cognitive memory MCP server for Claude - FSRS-6, spreading activation, synaptic tagging, and 130 years of memory research","archived":false,"fork":false,"pushed_at":"2026-02-21T04:00:11.000Z","size":1641,"stargazers_count":376,"open_issues_count":1,"forks_count":31,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-21T05:02:00.549Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samvallad33.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-25T07:31:09.000Z","updated_at":"2026-02-21T04:00:01.000Z","dependencies_parsed_at":"2026-01-31T12:01:59.038Z","dependency_job_id":null,"html_url":"https://github.com/samvallad33/vestige","commit_stats":null,"previous_names":["samvallad33/vestige"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/samvallad33/vestige","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samvallad33%2Fvestige","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samvallad33%2Fvestige/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samvallad33%2Fvestige/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samvallad33%2Fvestige/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samvallad33","download_url":"https://codeload.github.com/samvallad33/vestige/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samvallad33%2Fvestige/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29675038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T05:54:28.202Z","status":"ssl_error","status_checked_at":"2026-02-21T05:53:42.585Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-27T08:17:16.710Z","updated_at":"2026-02-21T06:13:46.649Z","avatar_url":"https://github.com/samvallad33.png","language":"Rust","funding_links":[],"categories":["Tools","💿 Products","Neuromorphic \u0026 Bio-Inspired Memory"],"sub_categories":["MCP server","Open-Source"],"readme":"# Vestige\n\n**The open-source cognitive engine for AI.**\n\n[![GitHub stars](https://img.shields.io/github/stars/samvallad33/vestige?style=social)](https://github.com/samvallad33/vestige)\n[![Release](https://img.shields.io/github/v/release/samvallad33/vestige)](https://github.com/samvallad33/vestige/releases/latest)\n[![License](https://img.shields.io/badge/license-AGPL--3.0-blue)](LICENSE)\n[![MCP Compatible](https://img.shields.io/badge/MCP-compatible-green)](https://modelcontextprotocol.io)\n\n\u003e Your AI forgets everything between sessions. Vestige fixes that. Built on 130 years of memory research — FSRS-6 spaced repetition, prediction error gating, synaptic tagging — all running in a single Rust binary, 100% local.\n\n### What's New in v1.6.0\n\n- **6x vector storage reduction** — F16 quantization + Matryoshka 256-dim truncation\n- **Neural reranking** — Jina cross-encoder reranker for ~20% better retrieval\n- **Instant startup** — cross-encoder loads in background, zero blocking\n- **Auto-migration** — old 768-dim embeddings seamlessly upgraded\n\nSee [CHANGELOG](CHANGELOG.md) for full version history.\n\n---\n\n## Give Your AI a Brain in 30 Seconds\n\n```bash\n# 1. Install\ncurl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-aarch64-apple-darwin.tar.gz | tar -xz\nsudo mv vestige-mcp vestige vestige-restore /usr/local/bin/\n\n# 2. Connect\nclaude mcp add vestige vestige-mcp -s user\n\n# 3. Test\n# \"Remember that I prefer TypeScript over JavaScript\"\n# New session → \"What are my coding preferences?\"\n# It remembers.\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eOther platforms \u0026 install methods\u003c/summary\u003e\n\n**macOS (Intel):**\n```bash\ncurl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-x86_64-apple-darwin.tar.gz | tar -xz\nsudo mv vestige-mcp vestige vestige-restore /usr/local/bin/\n```\n\n**Linux:**\n```bash\ncurl -L https://github.com/samvallad33/vestige/releases/latest/download/vestige-mcp-x86_64-unknown-linux-gnu.tar.gz | tar -xz\nsudo mv vestige-mcp vestige vestige-restore /usr/local/bin/\n```\n\n**Windows:** Download from [Releases](https://github.com/samvallad33/vestige/releases/latest)\n\n**Build from source:**\n```bash\ngit clone https://github.com/samvallad33/vestige \u0026\u0026 cd vestige\ncargo build --release\nsudo cp target/release/{vestige-mcp,vestige,vestige-restore} /usr/local/bin/\n```\n\n**npm:**\n```bash\nnpm install -g vestige-mcp\n```\n\u003c/details\u003e\n\n---\n\n## Works Everywhere\n\nVestige speaks MCP — the universal protocol for AI tools. One brain, every IDE.\n\n| IDE | Setup |\n|-----|-------|\n| **Claude Code** | `claude mcp add vestige vestige-mcp -s user` |\n| **Claude Desktop** | [2-min setup](docs/CONFIGURATION.md#claude-desktop-macos) |\n| **Xcode 26.3** | [Integration guide](docs/integrations/xcode.md) |\n| **Cursor** | [Integration guide](docs/integrations/cursor.md) |\n| **VS Code (Copilot)** | [Integration guide](docs/integrations/vscode.md) |\n| **JetBrains** | [Integration guide](docs/integrations/jetbrains.md) |\n| **Windsurf** | [Integration guide](docs/integrations/windsurf.md) |\n\nFix a bug in VS Code. Open Xcode. Your AI already knows about the fix.\n\n---\n\n## Why Not Just Use RAG?\n\nRAG is a dumb bucket. Vestige is an active organ.\n\n| | RAG / Vector Store | Vestige |\n|---|---|---|\n| **Storage** | Store everything, retrieve everything | **Prediction Error Gating** — only stores what's surprising or new |\n| **Retrieval** | Nearest-neighbor similarity | **Spreading activation** — finds related memories through association chains |\n| **Decay** | Nothing ever expires | **FSRS-6** — memories fade like yours do, keeping context lean |\n| **Duplicates** | Manual dedup or none | **Self-healing** — automatically merges \"likes dark mode\" + \"prefers dark themes\" |\n| **Importance** | All memories are equal | **Synaptic tagging** — retroactively strengthens memories that turn out to matter |\n| **Privacy** | Usually cloud-dependent | **100% local** — your data never leaves your machine |\n\n---\n\n## The Cognitive Science Stack\n\nThis isn't a key-value store with an embedding model bolted on. Vestige implements real neuroscience:\n\n**Prediction Error Gating** — The bouncer for your brain. When new information arrives, Vestige compares it against existing memories. Redundant? Merged. Contradictory? Superseded. Novel? Stored. Just like the hippocampus.\n\n**FSRS-6 Spaced Repetition** — 21 parameters governing the mathematics of forgetting. Frequently-used memories stay strong. Unused memories naturally decay. Your context window stays clean.\n\n**Synaptic Tagging** — A memory that seemed trivial this morning can be retroactively tagged as critical tonight. Based on [Frey \u0026 Morris, 1997](https://doi.org/10.1038/385533a0).\n\n**Spreading Activation** — Search for \"auth bug\" and find the related memory about the JWT library update you saved last week. Memories form a graph, not a flat list. Based on [Collins \u0026 Loftus, 1975](https://doi.org/10.1037/0033-295X.82.6.407).\n\n**Dual-Strength Model** — Every memory has two values: storage strength (how well it's encoded) and retrieval strength (how easily it surfaces). A memory can be deeply stored but temporarily hard to retrieve — just like real forgetting. Based on [Bjork \u0026 Bjork, 1992](https://doi.org/10.1016/S0079-7421(08)60016-9).\n\n**Memory States** — Active, Dormant, Silent, Unavailable. Memories transition between states based on usage patterns, exactly like human cognitive architecture.\n\n**Memory Dreaming** *(v1.5.0)* — Like sleep consolidation. Replays recent memories to discover hidden connections, strengthen important patterns, and synthesize insights. Based on the [Active Dreaming Memory](https://engrxiv.org/preprint/download/5919/9826/8234) framework.\n\n**ACT-R Activation** *(v1.5.0)* — Retrieval strength depends on BOTH recency AND frequency of access, computed from full access history. A memory accessed 50 times over 3 weeks is stronger than one accessed once yesterday. Based on [Anderson, 1993](http://act-r.psy.cmu.edu/).\n\n**Automatic Consolidation** *(v1.5.0)* — FSRS-6 decay runs automatically every 6 hours + inline every 100 tool calls. Episodic memories auto-merge into semantic summaries. Cross-memory reinforcement strengthens neighbors on access. No manual maintenance needed.\n\n[Full science documentation →](docs/SCIENCE.md)\n\n---\n\n## Tools — 23 MCP Tools\n\n### Core Memory\n| Tool | What It Does |\n|------|-------------|\n| `search` | 7-stage cognitive search — keyword + semantic + RRF fusion + reranking + temporal boost + competition + spreading activation |\n| `smart_ingest` | Intelligent storage with automatic CREATE/UPDATE/SUPERSEDE via Prediction Error Gating |\n| `ingest` | Direct memory storage with cognitive post-processing |\n| `memory` | Get, delete, or check memory accessibility state |\n| `codebase` | Remember code patterns and architectural decisions per-project |\n| `intention` | Prospective memory — \"remind me to X when Y happens\" |\n\n### Cognitive Engine (v1.5.0)\n| Tool | What It Does |\n|------|-------------|\n| `dream` | Memory consolidation via replay — discovers hidden connections, synthesizes insights |\n| `explore_connections` | Graph traversal — build reasoning chains, find associations via spreading activation, discover bridges between memories |\n| `predict` | Proactive retrieval — predicts what memories you'll need next based on context and activity patterns |\n| `restore` | Restore memories from JSON backup files |\n\n### Feedback \u0026 Scoring\n| Tool | What It Does |\n|------|-------------|\n| `promote_memory` / `demote_memory` | Feedback loop with full cognitive pipeline — reward signals, reconsolidation, competition |\n| `importance_score` | 4-channel neuroscience scoring (novelty, arousal, reward, attention) |\n\n### Auto-Save \u0026 Maintenance\n| Tool | What It Does |\n|------|-------------|\n| `session_checkpoint` | Batch-save up to 20 items in one call |\n| `find_duplicates` | Self-healing — detect and merge redundant memories via cosine similarity |\n| `consolidate` | Run FSRS-6 decay cycle (also runs automatically every 6 hours) |\n| `memory_timeline` | Browse memories chronologically, grouped by day |\n| `memory_changelog` | Audit trail of memory state transitions |\n| `health_check` / `stats` | System health, retention curves, cognitive state breakdown |\n| `backup` / `export` / `gc` | Database backup, JSON export, garbage collection |\n\n---\n\n## Make Your AI Use Vestige Automatically\n\nAdd this to your `CLAUDE.md` and your AI becomes proactive:\n\n```markdown\n## Memory\n\nAt the start of every session:\n1. Search Vestige for user preferences and project context\n2. Save bug fixes, decisions, and patterns without being asked\n3. Create reminders when the user mentions deadlines\n```\n\n| You Say | AI Does |\n|---------|---------|\n| \"Remember this\" | Saves immediately |\n| \"I prefer...\" / \"I always...\" | Saves as preference |\n| \"Remind me...\" | Creates a future trigger |\n| \"This is important\" | Saves + strengthens |\n\n[Full CLAUDE.md templates →](docs/CLAUDE-SETUP.md)\n\n---\n\n## CLI\n\n```bash\nvestige stats              # Memory statistics\nvestige stats --tagging    # Retention distribution\nvestige stats --states     # Cognitive state breakdown\nvestige health             # System health check\nvestige consolidate        # Run memory maintenance\nvestige restore \u003cfile\u003e     # Restore from backup\n```\n\n---\n\n## Technical Details\n\n- **Language:** Rust (52,000+ lines, 1,100+ tests)\n- **Binary size:** ~20MB\n- **Embeddings:** Nomic Embed Text v1.5 (768-dim, local ONNX inference via fastembed)\n- **Vector search:** USearch HNSW (20x faster than FAISS)\n- **Storage:** SQLite + FTS5 (optional SQLCipher encryption)\n- **Transport:** MCP stdio (JSON-RPC 2.0)\n- **Dependencies:** Zero runtime dependencies beyond the binary\n- **First run:** Downloads embedding model (~130MB), then fully offline\n- **Platforms:** macOS (ARM/Intel), Linux (x86_64), Windows\n\n---\n\n## Documentation\n\n| Document | Contents |\n|----------|----------|\n| [FAQ](docs/FAQ.md) | 30+ answers to common questions |\n| [How It Works](docs/SCIENCE.md) | The neuroscience behind every feature |\n| [Storage Modes](docs/STORAGE.md) | Global, per-project, multi-instance setup |\n| [CLAUDE.md Setup](docs/CLAUDE-SETUP.md) | Templates for proactive memory |\n| [Configuration](docs/CONFIGURATION.md) | CLI commands, environment variables |\n| [Integrations](docs/integrations/) | Xcode, Cursor, VS Code, JetBrains, Windsurf |\n| [Changelog](CHANGELOG.md) | Version history |\n\n---\n\n## Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003e\"Command not found\" after installation\u003c/summary\u003e\n\nEnsure `vestige-mcp` is in your PATH:\n```bash\nwhich vestige-mcp\n```\n\nOr use the full path:\n```bash\nclaude mcp add vestige /usr/local/bin/vestige-mcp -s user\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eEmbedding model download fails\u003c/summary\u003e\n\nFirst run downloads ~130MB from Hugging Face. If behind a proxy:\n```bash\nexport HTTPS_PROXY=your-proxy:port\n```\n\nCache locations:\n- **macOS**: `~/Library/Caches/com.vestige.core/fastembed`\n- **Linux**: `~/.cache/vestige/fastembed`\n- **Windows**: `%LOCALAPPDATA%\\vestige\\cache\\fastembed`\n\u003c/details\u003e\n\n[More troubleshooting →](docs/FAQ.md#troubleshooting)\n\n---\n\n## Contributing\n\nIssues and PRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nAGPL-3.0 — free to use, modify, and self-host. If you offer Vestige as a network service, you must open-source your modifications.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eBuilt by \u003ca href=\"https://github.com/samvallad33\"\u003e@samvallad33\u003c/a\u003e\u003c/i\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamvallad33%2Fvestige","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamvallad33%2Fvestige","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamvallad33%2Fvestige/lists"}